簡體   English   中英

如何在Django 1.9中為同一個應用程序提供單獨的URL

[英]How to have separate urls for the same app in Django 1.9

我有一個應用程序,將有2種網址,一個將包含在其他應用程序中,一個將包含在設置應用程序中。 我希望有一種方法只包含部分網址而不為其創建單獨的文件。

# records app -- urls.py
urlpatterns = [
    url(r'^create/$', RecordCreate.as_view(), name="record-create"),
    url(r'^(?P<pk>\d+)/update/$', RecordUpdate.as_view(), name="record-update"),
    url(r'^(?P<pk>\d+)/delete/$', RecordDelete.as_view(), name="record-delete"),
]


urlpatterns_types = [
    url(r'^$', RecordTypeList.as_view(), name="record-type-list"),
    url(r'^(?P<pk>\d+)/$', RecordTypeDetail.as_view(), name="record-type-detail"),
    url(r'^create/$', RecordTypeCreate.as_view(), name="record-type-create"),
    url(r'^(?P<pk>\d+)/update/$', RecordTypeUpdate.as_view(), name="record-type-update"),
    url(r'^(?P<pk>\d+)/delete/$', RecordTypeDelete.as_view(), name="record-type-delete"),
]

現在在設置應用程序中,我想只包含urlpatterns_types網址。 但是我試着把它們包括在內但我做不到

我發現創建單獨文件然后將它們作為模塊包含的唯一方法

以下是預期結果的示例

# player app -- urls.py

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

urlpatterns = [

    # Records App Urls
    url(r'^(?P<player_id>\d+)/records/', include('records.urls')),
]



# settings app -- urls.py

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

urlpatterns = [

    # Records App Urls
    url(r'^(?P<player_id>\d+)/records/', include('records.urls.urlpatterns_types')),
]

項目樹

-- soccer_game
    -- soccer_game
        -- settings.py
        -- urls.py

    -- players
        -- models.py
        -- urls.py
        -- views.py

    -- main_settings
        -- models.py
        -- urls.py
        -- views.py

您可以導入模塊並傳遞URL本身列表:

# settings app -- urls.py

from django.conf.urls import patterns, include, url
from records import urls as records_urls
from .views import *

urlpatterns = [
    # Records App Urls
    url(r'^(?P<player_id>\d+)/records/', include(records_urls.urlpatterns_types)),
]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM