Джанго URL дает ошибку 404

Django выдает мне ошибку 404 всякий раз, когда я пытаюсь получить доступ к "blog/" на моем сайте, но я определил URL-адреса, которые я хочу, и они должны соответствовать этому.

Основные urls.py:

from django.conf.urls import patterns, include, url

from django.contrib import admin
admin.autodiscover()
from blog import views

urlpatterns = patterns('',
    # Examples:
    # url(r'^$', 'mySiteProject.views.home', name='home'),
    # url(r'^blog/', include('blog.urls')),

    url(r'^blog/', include('blog.urls')),
    url(r'^admin/', include(admin.site.urls)),
)

blog.urls.py:

from django.conf.urls import patterns,url
from blog import views

urlpatterns = patterns(
    url(r'^$',views.index,name='index')
)

404 страница:

Page not found (404)
Request Method:     GET
Request URL:    http://localhost:8000/blog/

Using the URLconf defined in mySiteProject.urls, Django tried these URL patterns, in this order:

    ^admin/

The current URL, blog/, didn't match any of these.

Структура сайта:

mySiteProject
    blog
        admin.py
        models.py
        tests.py
        views.py
        urls.py
        __init__.py
    mySiteProject
        wsgi.py
        settings.py
        urls.py
        __init__.py
    manage.py
    db.sqlite3

Установленные приложения:

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',

    'blog'
)

1 ответ

Решение

patterns в качестве первого аргумента требуется префикс, за которым следует ноль или более аргументов. Итак, это:

urlpatterns = patterns(url(r'^$',views.index,name='index'))  # won't work

в blog.urls.py должен выглядеть так:

urlpatterns = patterns('', url(r'^$', views.index, name='index'))  # now has a prefix as first argument

В своем нынешнем состоянии patterns функция в blog.urls.py вернет пустой pattern_list, Который означает, что url(r'^blog/', include('blog.urls')) не вернет никаких шаблонов.

Другие вопросы по тегам