我有一个dashboard_view URLpath("", view=dashboard_view, name="dashboard")。在这个页面上,你可以看到未经验证的主页。但是,如果你登录,我会显示一个模式弹出窗口,允许用户填充CreateForm。问题是dashboard_view没有表单(我在另一个视图中有表单)。对此的最佳实践是什么?最好让用户在同一个页面上有不同的选项,而不必切换页面。
dashboard_view URL
path("", view=dashboard_view, name="dashboard")
dashboard_view
hmmo2u0o1#
您可以使用login_required装饰器。在login_required中,如果您在www.example.com文件中声明了登录路径,login_url是一个可选参数settings.py。如果您的整个站点都有一个相同的登录URL,您可以将LOGIN_URL = 'login_form_url'放在settings.py文件中。
login_required
LOGIN_URL = 'login_form_url'
from django.contrib.auth.decorators import login_required @login_required(login_url='/login_form_url/') def dashboard_view(request): return render(request,'app_name/dashboard.html')
1条答案
按热度按时间hmmo2u0o1#
您可以使用
login_required
装饰器。在login_required中,如果您在www.example.com文件中声明了登录路径,login_url是一个可选参数settings.py。如果您的整个站点都有一个相同的登录URL,您可以将LOGIN_URL = 'login_form_url'
放在settings.py文件中。