要传递URL中提供的数据而不是映射的视图

2024-03-28 14:03:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个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文件(它们与结构中相应的文件号匹配)

url.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))
]

url.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),
]

url.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'),
]

我可以成功访问我的所有应用程序,但是只有someObjectGET不起作用。是什么导致了404错误


Tags: 文件frompyimportappurlincludeas