我有一个带有用户模型的一对一字段的模型user2, user2有一个额外的字段user_type,它可以是“etud”,“ensg”“chef”或“tech”。我想做的是为每种类型的用户提供不同版本的网站,目前我正在做的是我在一个页面上拥有所有内容,然后检查某些特定HTML标签的用户类型,我为所有网站页面执行此操作。那么,我该怎么做呢?我正在使用最好的方法吗?
答案 0 :(得分:1)
有多种方法可以做。
根据用户类型
呈现网页让他们说他们落在一个URL / home /上,你可以在调用home_view()之后映射那个不同的主页。
在这里,您必须从此模板创建通用base_home.html,您必须使用带有差异主题的extends user_type特定模板。
def home_view(request):
context = {} # add your template context here common for all user.
if request.user.user_type == "etud":
# update your user_type specific context here.
template_name = etud_home.html
response = TemplateResponse(request, template_name, context)
return response
if request.user.user_type == "ensg":
template_name = ensg_home.html
response = TemplateResponse(request, template_name, context)
return response
如果您想采用更通用的方式,请检查process_template_response middleware