【发布时间】:2014-07-08 18:36:50
【问题描述】:
我对 Django 很陌生,当我布置我的网站时,我是按以下方式进行的:
该项目是某种“门户”,
- App 1“home”是包含主页、登录、注册的应用程序 和其他“全站”功能
- App 2“库存”是基本资产库存
- App 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 来管理任何站点范围的功能,例如登录、注册等。
现在主页索引视图显示得很好,但是 .../home/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 的回答,因为它更准确,包括需要将主页 url 包含在其余部分下方。
这是我的新门户/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'^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'),
)
【问题讨论】: