如何判断哪个应用程序或模型将处理给定的URL?

时间:2018-05-31 15:54:44

标签: python django

例如:如果我在任意应用程序和/或模型中工作,但我想获得将实际处理浏览器地址栏中当前URL的应用程序和/或模型的句柄。 / p>

更新:我的问题可能不够明确。我需要在模型中引用应用程序,而不是视图。

3 个答案:

答案 0 :(得分:0)

请求不是由应用或模型直接处理的。您可以使用resolve函数获取将处理URL的视图。

答案 1 :(得分:0)

很简单。视图可以处理网址。您可以编写视图,在urls.py文件中,您可以为特定URL设置书面视图

from django.urls import path

from . import views

urlpatterns = [
    path('articles/2003/', views.special_case_2003),
    path('articles/<int:year>/', views.year_archive),
    path('articles/<int:year>/<int:month>/', views.month_archive),
    path('articles/<int:year>/<int:month>/<slug:slug>/', views.article_detail),
]

但是,如果您只想通过一个视图处理所有网址,则应该以某种方式指定您的网址格式,覆盖所有网址。

答案 2 :(得分:0)

self.request.resolver_match.namespace