在Django网站上找不到404页面

时间:2017-08-20 19:39:48

标签: python django

我已经开始使用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;

的多个目录搞糊涂了

2 个答案:

答案 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语句。

相关问题