Django触ってみたので自分用にやったことまとめ
参考サイト
こちらを参考に実施
https://docs.djangoproject.com/ja/3.1/intro/tutorial01/
プロジェクトの作成
下記コマンドでプロジェクト作成
django-admin startproject mysite
作成されるファイル
- manage.py
- コマンド操作のためのファイルっぽい
- settings.py
- プロジェクト全体の設定ファイルっぽい
- urls.py
- ルーティング定義のファイルっぽい
- asgi.py
- プロジェクトを提供する ASGI 互換 Web サーバーのエントリポイントと書いていたけどあまりイメージできず...
- wsgi.py
- こちらもよくわからず...
サーバ起動
python manage.py runserver
コマンド指定する時はpython manage.py
まではセットなのかな?
プロジェクトの作成
python manage.py startapp polls
viewの作成
views.pyを編集
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello, world. You're at the polls index.")
http周りのパッケージインポートして、indexっていう関数でリクエスト捌くって感じなのかな
ルーティング定義
polls/urls.py
を作成
from django.conf.urls import url
from . import views
urlpatterns = [
url('', views.index, name='index'),
]
mysite/urls.py
を編集
# from django.conf.urls import url
from django.contrib import admin
from django.conf.urls import include, url
urlpatterns = [
url('admin/', admin.site.urls),
url('polls/', include('polls.urls')),
]
なぜか参考にしたサイト通りにやるとできなかったのであとで調べておきたい
path じゃなくて url という関数を使用しないとなぜかうまくいかず...
バージョン問題ありそう...
これdocker上でDjangoで使用するpythonのバージョンうまく指定できていない気がする...
root@38153a1081ae:/code# python --version
Python 3.8.5
root@38153a1081ae:/code# python -m django --version
1.11.29
root@38153a1081ae:/code#
とりあえず問題っぽい箇所はわかったので次はdocker側かDjangoの設定を見直してみよう...