如何解决Django 视图中的动态模板
我想知道是否可以将模板名称从 urls.py
动态插入到 Django 视图中。
也就是说,假设我有一个应用程序,其全部目的是充当各种静态登录页面的容器。计划是创建此应用程序,并在其 urls.py
中设置与各种登录页面路径相对应的各种条目。每个页面都有一个单独的 .html
与之对应。
问题是,是否可以为所有这些模板只编写一个(基于类的或其他)视图,还是需要为每个页面编写一个视图?
Django 2.1-2.2 版
附言如果有替代的、简洁的方式来完成类似的事情,我会全力以赴。
解决方法
这可以通过 URL 中的变量和基于简单函数的视图来实现
urls.py
from django.urls import path
from .views import landing_page_view
urlpatterns = [
path('<slug:template_name>/',landing_page_view,name='landing_page_view'),# Your urls will be <host>/template_name
]
views.py
from django.shortcuts import render
def landing_page_view(request,template_name):
return render(request,f'{template_name}.html') # Render view with the template corresponding with the template_name in the url
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。