Как правильно настроить URLConf в Django (RegEx?)

Недавно я изучил Учебник по Django и теперь работаю самостоятельно веб-приложение. Проблема, с которой я столкнулся, заключается в настройке URLConf для этого приложения. Я до сих пор не совсем понимаю соответствие RegEx, чтобы связать разные страницы друг с другом (или, может быть, я просто забываю что-то простое ??)

Я пытаюсь настроить URLConf таким образом, чтобы, когда я нажимаю кнопку на каждой странице, он переходит на следующую страницу (всего их 5).

Вот как это должно выглядеть

Страница 0 (http://127.0.0.1:8000/)

Страница 1 (http://127.0.0.1:8000/page1/ )

И продолжайте по этому шаблону (http://127.0.0.1:8000/page2/, http://127.0.0.1:8000/page3/, http://127.0.0.1:8000/page4/)

Когда я нажимаю Next Page на странице 0, он переходит на страницу 1. Когда я нажимаю Submit на странице 1, заголовок URL page1 меняется на page2, но по-прежнему отображает ту же страницу html.

Вот два моих urls.py файла:

"""qfdjango URL Configuration

The `urlpatterns` list routes URLs to views. For more information please see:
    https://docs.djangoproject.com/en/1.8/topics/http/urls/
Examples:
Function views
    1. Add an import:  from my_app import views
    2. Add a URL to urlpatterns:  url(r'^$', views.home, name='home')
Class-based views
    1. Add an import:  from other_app.views import Home
    2. Add a URL to urlpatterns:  url(r'^$', Home.as_view(), name='home')
Including another URLconf
    1. Add an import:  from blog import urls as blog_urls
    2. Add a URL to urlpatterns:  url(r'^blog/', include(blog_urls))
"""
from django.conf.urls import patterns, include, url
from django.contrib import admin
admin.autodiscover()

# builds URLS for all across the site
# decoupled from mainsite.urls
urlpatterns = patterns('',
    url(r'^',                include('mainsite.urls')),
    url(r'^someOtherPage/',  include('mainsite.urls')),
    url(r'^anotherPage/',    include('mainsite.urls')),
    url(r'^page1/',          include('mainsite.urls')),
    url(r'^page2/',          include('mainsite.urls')),
    url(r'^page3/',          include('mainsite.urls')),
    url(r'^page4/',          include('mainsite.urls')),
    url(r'^admin/',          include(admin.site.urls)),
)    

"""qfdjango URL Configuration

The `urlpatterns` list routes URLs to views. For more information please see:
    https://docs.djangoproject.com/en/1.8/topics/http/urls/
Examples:
Function views
    1. Add an import:  from my_app import views
    2. Add a URL to urlpatterns:  url(r'^$', views.home, name='home')
Class-based views
    1. Add an import:  from other_app.views import Home
    2. Add a URL to urlpatterns:  url(r'^$', Home.as_view(), name='home')
Including another URLconf
    1. Add an import:  from blog import urls as blog_urls
    2. Add a URL to urlpatterns:  url(r'^blog/', include(blog_urls))
"""
from django.conf.urls import patterns, include, url

# these patterns are for specific sections of the site
# the 'primary' URLs are located in qfdjango.urls
# URL design of an app is specific to the app,
# not the whole Django project
urlpatterns = patterns('mainsite.views',
     url(r'^$', 'index'),
     url(r'$',  'page_1'),
     url(r'$',  'page_2'),
     url(r'$',  'page_3'),
     url(r'$',  'page_4'),
)

person freddiev4    schedule 05.08.2015    source источник
comment
url(r'^page1/$', 'page_1') и т. Д.   -  person NightShadeQueen    schedule 05.08.2015


Ответы (1)


Похоже, вы неправильно определили URL-адреса.

Должно получиться что-то вроде:

from django.conf.urls import patterns, include, url
from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
    url(r'^',                include('mainsite.urls')), # include your app urls once
    url(r'^admin/',          include(admin.site.urls)),
)  

Затем в urls.py файле приложения URL-адреса должны быть определены следующим образом:

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

urlpatterns = patterns('mainsite.views',
    url(r'^$', 'index'),
    url(r'^someOtherPage/$', 'someOtherPage'),
    url(r'^anotherPage/$', 'anotherPage'),
    url(r'page1/$', 'page_1'), # page 1 url
    url(r'page2/$', 'page_2'), # page 2 url
    url(r'page3/$', 'page_3'), # page 3 url
    url(r'page4/$', 'page_4'), # page 4 url
)
person Rahul Gupta    schedule 05.08.2015