【发布时间】:2015-07-14 21:44:51
【问题描述】:
我有一个如下所示的 Django 项目结构:
siteDirectory
-manage.py
-mySite
-__init.py
-settings.py
-urls.py (1)
-public
-__init__.py
-urls.py (2)
-app1
-models.py
-views.py
-urls.py (3)
-app2
-app3
-urls.py
(为简洁起见,省略了一些文件)。
我已成功运行我的网站,并且我的模型按计划工作。然后我去设置一个 URL 方案,我可以在其中给出这样的 URL:localhost/app1/5 其中5 是模型对象的 ID。这类似于 Django 教程 (https://docs.djangoproject.com/en/1.8/intro/tutorial03/) 的“编写更多视图”部分。但是,当我实现这个时,我得到一个 404 错误,并且我的 URL 模式没有在我的文件中定义。这些是我拥有的 URL 文件(它们与结构中的相应文件编号匹配)
urls.py (1)
from public import urls as public_urls
from django.conf.urls import include, url
from django.contrib import admin
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
# Public-facing site
url(r'', include(public_urls))
]
urls.py (2)
from app1 import urls as app_one_urls
from app2 import views as app_two_views
from app3 import views as app_three_views
# URLs
urlpatterns = [
url(r'^app1$', include(app_one_urls)),
url(r'^app2$', app_two_views.main)
url(r'^app3$', app_three_views.main),
]
urls.py (3)
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$', views.main, name='index'),
url(r'^(?P<someObject_id>[0-9]+)/$', views.someObject, name='someObject'),
]
我可以成功访问我的所有应用程序,但只有someObject GET 不起作用。是什么导致了这个 404 错误?
【问题讨论】:
标签: python django url django-views