python - Django动态页面功能和url

标签 python django django-urls

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

问题: 有一些动态网站,网站管理员可以创建带有随机 URL 的页面。例如,他可以创建一个URL为“company/news”或“store/news”的新闻页面。或者他可以创建带有反馈表单的页面,网址为“反馈”或“用户/反馈”。

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

最佳答案

您可以创建 View 来解析您的 URL 并为不同类型选择策略。

# 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

关于python - Django动态页面功能和url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21693357/

相关文章:

python - 在 Python 中合并由空格分隔的字符串

python - 如何在 postgresql 中存储超过 1600 列

python - Django : Difference between django-admin. py 和 django-admin

python - Django 管理员 : removing app name from URL for single-app projects

python - Kivy:是否可以用类级别(而不是实例)属性触发事件?

python - 我正在尝试使用(?(ID/NAME)...)找出正则表达式

python - 每次运行 makemigrations 时,Django 模型枚举字段都会创建新的迁移,即使未更改

python - 我有一个分配给 django 模型 charfield 的长整数列表。 long 列表转换为 unicode 列表

django - 在 javascript 文件中使用 Django url

python - Django 2 命名空间和 app_name