Djangoチュートリアルの頭でいきなりハマった
すっごい単純なところでハマって1時間くらい悩んだので書く
やったのは公式チュートリアル
はじめての Django アプリ作成、その 1 | Django documentation | Django
はじめてのビュー作成
書いてるとおりに進めてビューの作成へ.
polls/view.pyに下記書いた.
polls/view.py
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello, world. You're at the polls index.")
polls/urls.pyに下記書いた.
polls/urls.py
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^, views.index, name='index'), ]
そしてmysite/urls.pyに下記作成.
mysite/urls.py
from django.conf.urls import include, url
from django.contrib import admin
urlpatterns = [
url(r'^polls/', include('polls.urls')),
url(r'^admin/', admin.site.urls),
]
そしてサーバー起動!
python manage.py runserver
エラー!!!
NameError: name 'url' is not defined
なんでや!!!urls.pyあるじゃん!!!って思って1時間ぐらいにらめっこ.
そうしたらmysite/urls.pyの置く場所を間違っていたという.
mysite/
 - manage.py
 - mysite/
  - __init__.py
  - settings.py
  - urls.py ← ◯ 正しくはここに記載
  - wsgi.py
 - polls/
  - __init__.py
  - admin.py
  - apps.py
 - migrations/
  - __init__.py
  - models.py
  - tests.py
  - views.py
  - urls.py ← ☓ 間違って新しく作ってた
ちょっとわかりにくいかもしれませんが公式チュートリアルでmysite/urls.py に記載しろよって書いていたので素直にmysite/urls.pyに記載したのですが実際はmysite/mysite/urls.pyに記載する必要があったのです.
くだらない単純なミス! でも公式ちょっとわかりにくいよ!
[amazonjs asin=“B071S25M33” locale=“JP” title=“1日で理解するDjango超基礎入門”]