【问题标题】:Django: import two different views to same urls.py?Django:将两个不同的视图导入到相同的 urls.py?
【发布时间】:2015-06-01 18:38:27
【问题描述】:

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

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

感谢您的帮助!

【问题讨论】:

  • gggrrrr reposting == bad SO citizenry 。这个问题的答案在我周末给你的例子中(stackoverflow.com/questions/30557725/…)。 urls.py 的位置无关紧要,但您可以委派给其他 urls.py 文件,从而有效地创建命名空间。
  • 编辑现有问题比重新发布要好得多。

标签: python django url views


【解决方案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。

【讨论】:

    【解决方案2】:

    希望我能正确理解您的问题。您可以在 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

    【讨论】:

    • 谢谢!我已经修好了^^
    • 您可以将 Sepehr 的答案标记为已解决;)祝您使用 django 和 python 好运。它们非常强大。
    猜你喜欢
    • 2011-09-16
    • 2014-04-05
    • 1970-01-01
    • 2017-09-22
    • 1970-01-01
    • 2020-07-06
    • 1970-01-01
    • 2018-10-11
    • 1970-01-01
    相关资源
    最近更新 更多