Goの未使用importエラーについて

Pythonでは「とりあえず使いそうなやつ全部importしとく」とかができるが、Goではimportしたのに使っていないと怒られて実行できない。この仕様の背景ってなんだろうと思って調べていた。

この記事が良かった。

https://budougumi0617.github.io/2019/10/06/imported-declared-not-used-error/

djangoのメモ1

Djangoをインストールしたら、まずはプロジェクトを作成する。

 

すでにインストールされているか確認したい場合、下記コマンドでバージョンを確認する。

$ python -m django --version

 

プロジェクトを作成したいディレクトリに移動し、以下のコマンドを入力。

$ django-admin startproject mysite

 

すると下記のように作成される。

mysite/ ----->プロジェクトのコンテナ
    manage.py ------>プロジェクトを操作するためのコマンドラインユーティリティ
    mysite/ ------>プロジェクトの実際のPythonパッケージでimportの際に使用する
        __init__.py ----->Pythonへパッケージと知らせるための空のファイル
        settings.py ----->プロジェクトの設定ファイル
        urls.py ----->プロジェクトのURL宣言
        asgi.py ----->プロジェクトを提供するASGI互換webサーバーエントリポイント
        wsgi.py ----->プロジェクトをサーブするためのASGI互換webサーバーエントリポイント

 

プロジェクト動作確認のために開発用サーバーを起動する。

$ python manage.py runserver

以下の出力が出て、

Performing system checks...

System check identified no issues (0 silenced).

You have unapplied migrations; your app may not work properly until they are applied.
Run 'python manage.py migrate' to apply them.

11月 02, 2023 - 15:50:53
Django version 4.2, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

http://127.0.0.1:8000/にアクセスして "Congratulations!"が表示されていれば成功です。

また、これは開発用に用意されているサーバーであり、実運用には使用してはいけません。

 

これでプロジェクトが立ち上がりアプリケーションを作成する準備が整いました。

今回はアプリケーションをトップレベルモジュールとしてインポートできるように、manage.pyと同じディレクトリに入って以下のコマンドを入力します。

$ python manage.py startapp polls

 

以下のように作成されます。

polls/
    __init__.py
    admin.py
    apps.py
    migrations/
        __init__.py
    models.py
    tests.py
    views.py ------>フロント部分

 

views.py

from django.http import HttpResponse


def index(request):
    return HttpResponse("Hello, world. You're at the polls index.")

 

 

このviewsを呼ぶためには、URLを対応づけする必要があります。

polls/の直下に urls.py を下記の内容で作成します。

from django.urls import path

from . import views

urlpatterns = [
    path("", views.index, name="index"),
]

 

次にルートのURLconfに polls.urls モジュールの記述を反映させます。mysite/urls.pyに下記の内容を記載します。

from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    path("polls/", include("polls.urls")),
    path("admin/", admin.site.urls),
]

 

設定が完了したら再度動作確認を行います。

$ python manage.py runserver

http://localhost:8000/polls/ でviews.pyの内容が確認できれば成功です。