我非常新的Django的,当我把我的网站了,我做到了以下列方式:Django的“主页”应用urls.py问题
该项目是各种各样的“门户”,
- 应用1“家”是容纳主页,登录,注册 等“站点范围”功能
- 应用2“库存”是一个基本的资产清查
- 应用3“仪表板”是该应用一组状态仪表盘,基于库存中的资产
现在我尝试添加的登录功能,我有一个主要项目urls.py,看起来像这样:
文件:/portal/urls.py
from django.conf import settings
from django.conf.urls import patterns, include, url
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
url(r'^$', include('home.urls'), name='home'),
url(r'^admin/', include(admin.site.urls), name='admin'),
url(r'^inventory/', include('inventory.urls'), name='inventory'),
url(r'^dashboard/', include('dashboard.urls'), name='dashboard'),
url(r'^capacity/', include('capacity.urls'), name='capacity'),
)
我的计划是使用包含.../home/urls.py来管理任何站点范围的功能,例如登录,注册等。
现在,主页索引视图显示得很好,但任何东西别的我ñ... /家庭/ urls.py给了我一个404
文件:/home/urls.py
from django.conf.urls import patterns, url
from home import views
urlpatterns = patterns('',
url(r'^test/$', views.index, name='home_test'),
url(r'^ajax_login/$', views.ajax_login, name='ajax_login'),
url(r'^$', views.index, name='home_index'),
)
在这一点上,我想我的问题是双重的:我是不是接近这是否正确?如果是这样,我如何获得所需的功能?如果不是的话,我应该如何改变事物的设置/布局方式,使之成为正确的“最佳实践”方式?
在此先感谢!
编辑
得到它的工作得益于dt0xff和holdenweb,接受holdenweb的答案,因为它是更准确,包括需要摆在家中包含的网址低于其他。
这里是我参考新门户/ urls.py文件
文件:/门户网站/网址。PY
from django.conf import settings
from django.conf.urls import patterns, include, url
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
url(r'^admin/', include(admin.site.urls), name='admin'),
url(r'^inventory/', include('inventory.urls'), name='inventory'),
url(r'^dashboard/', include('dashboard.urls'), name='dashboard'),
url(r'^capacity/', include('capacity.urls'), name='capacity'),
url(r'^', include('home.urls'), name='home'),
)
虽然即使空字符串有一个开始,这种模式将匹配所有的字符串。因此,顶级列表中的任何其他URL都不可能匹配,因此我建议对列表重新排序。 – holdenweb