django 两个视图的URL相同

8i9zcol2  于 2022-11-26  发布在  Go
关注(0)|答案(1)|浏览(128)

我有一个dashboard_view URLpath("", view=dashboard_view, name="dashboard")
在这个页面上,你可以看到未经验证的主页。但是,如果你登录,我会显示一个模式弹出窗口,允许用户填充CreateForm。
问题是dashboard_view没有表单(我在另一个视图中有表单)。对此的最佳实践是什么?最好让用户在同一个页面上有不同的选项,而不必切换页面。

hmmo2u0o

hmmo2u0o1#

您可以使用login_required装饰器。在login_required中,如果您在www.example.com文件中声明了登录路径,login_url是一个可选参数settings.py。如果您的整个站点都有一个相同的登录URL,您可以将LOGIN_URL = 'login_form_url'放在settings.py文件中。

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')

相关问题