Django动态页面功能和网址

时间:2014-02-11 04:47:44

标签: python django django-urls

我的django应用程序中的路由存在一些问题。

问题: 有一些动态网站和网站管理员可以使用随机网址创建页面。例如,他可以使用URL“公司/新闻”或“商店/新闻”创建新闻页面。或者他可以使用网址“反馈”或“用户/反馈”创建包含反馈表单的页面。

因此,Django需要捕获此请求并为这些页面显示适当的新闻或反馈内容。如何根据请求的页面功能将用户请求路由到适当的视图?

1 个答案:

答案 0 :(得分:1)

您可以创建分析网址并为不同类型选择策略的视图。

# urls.py
...
url(r'^dynamic-view/(?P<dynamic_view_url>.*)/$', 'dynamic_view')


# views.py
def dynamic_view(request, dynamic_view_url):
    url_parts = [p for p in dynamic_view_url.split("/") if p]
    if "feedback" in url_parts:
        return _view_for_feedback(request, url_parts)
    elif "news" in url_parts:
        return _view_for_news(request, url_parts)
    else:
        raise Http404