我已经开始使用YouTube上的新浪潮频道的Django(1.9)在线教程,该教程正在构建一个简单的音乐应用程序。 但是我收到以下错误:
Page not found (404)
Request Method: GET
Request URL: http://127.0.0.1:8000/music
Using the URLconf defined in website.urls, Django tried these URL patterns, in this order:
^admin/
The current URL, music, didn't match any of these.
以下是我的文件:
网站/网页/ settings.py
...
INSTALLED_APPS = [
'music',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
...
ROOT_URLCONF = 'website.urls'
...
网站/网页/ urls.py
from django.conf.urls import include, url
from django.contrib import admin
urlpatterns = [
url(r'^music/', include('music.urls')),
url(r'^admin/', admin.site.urls),
]
网站/音乐/ urls.py
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$', views.index, name='index'),
]
网站/音乐/ views.py
from django.http import HttpResponse
def index(request):
return HttpResponse("<h1>This is the Music app homepage</h1>")
P.S:我已经确定我正在编辑正确的urls.py文件,并且它也被放置在正确的目录中,我想,与其他类似的问题有关此问题
编辑:我从&#34;网站&#34;重命名了我的根目录到&#34;网站1&#34;只是为了解决与网站&#34;的参考相关的歧义。现在音乐和管理部分工作正常,但django服务器主页(http://127.0.0.1:8000/)现在显示以下错误:
Page not found (404)
Request Method: GET
Request URL: http://localhost:8000/
Using the URLconf defined in website.urls, Django tried these URL patterns, in this order:
^music/
^admin/
The current URL, , didn't match any of these.
编辑2:问题已修复,重命名为&#34;网站&#34;到&#34; website1&#34;。似乎Django被名为&#34; website&#34;
的多个目录搞糊涂了答案 0 :(得分:1)
你所做的一切都是正确的。确保保存文件并重新启动服务器。如果它仍然无法正常工作,您可以改为导入音乐网址:
from music import urls as music_urls
然后将音乐网址行更改为:
url(r'^music/', include(music_urls)),
答案 1 :(得分:0)
只有部分答案:错误消息列出了所有已知的网址。在您的情况下,只有
^admin/
已知(根据您发布的错误消息),它不知道^music/
。我不明白为什么它不了解^music/
。
编辑:虽然include(字符串)应该有效,但您可以尝试将其替换为include(music.urls)并在music.urls上添加import语句。