Django:将两个不同的视图导入到同一个urls.py中?

时间:2015-06-01 18:38:27

标签: python django url views

我想知道是否可以在一个urls.py中链接到两个不同的views.py文件(在不同的目录中),以及如何做到这一点?

更具体地说,我正在寻找一种方法,将'myapp'目录中的views.py与'details'目录中urls.py中的views.py以及'details'中的views.py包含在一起。

感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

可能,您需要使用不同的名称导入视图,如果它们具有相同的名称,则可以执行此操作:

from . import views
from another.directory import views as views2


urlpatterns = [
    url(r'^$', views.index, name='index'),
    url(r'^test/', views2.index, name='index2')),
]

但这不是一个很酷的主意,你可以在与模块相关的views.py中定义第二个URL。

答案 1 :(得分:0)

我希望我能正确理解你的问题。您可以在urls.py文件中使用记录的方式:

from django.conf.urls import include, url
from apps.main import views as main_views
from credit import views as credit_views

extra_patterns = [
    url(r'^reports/$', credit_views.report),
    url(r'^reports/(?P<id>[0-9]+)/$', credit_views.report),
    url(r'^charge/$', credit_views.charge),
]

urlpatterns = [
    url(r'^$', main_views.homepage),
    url(r'^help/', include('apps.help.urls')),
    url(r'^credit/', include(extra_patterns)),
]

写于:Django Documentation