Chr*_*ten 2 python django django-urls django-views
我正在接近我认为正在构建的Django应用程序的开发结束.此应用程序中的关键视图是用户仪表板,用于显示某种指标.基本上我不希望用户能够看到其他用户的仪表板.现在我的观点看起来像这样:
@login_required
@permission_required('social_followup.add_list')
def user_dashboard(request, list_id):
try:
user_list = models.List.objects.get(pk=list_id)
except models.List.DoesNotExist:
raise Http404
return TemplateResponse(request, 'dashboard/view.html', {'user_list': user_list})
Run Code Online (Sandbox Code Playgroud)
此视图的网址如下:
url(r'u/dashboard/(?P<list_id>\d+)/$', views.user_dashboard, name='user_dashboard'),
Run Code Online (Sandbox Code Playgroud)
现在,任何登录用户都可以只更改list_idURL并访问不同的仪表板.如何才能使用户只能查看自己的list_id的仪表板,而无需list_id从URL中删除参数?我对Django的这一部分很新,并且不知道要进入哪个方向.
只需拉动request.user并确保此列表是他们的.
你还没有描述你的模型,但它应该是直截了当的.
也许您的List模型中存储了用户ID?在这种情况下,
if not request.user == user_list.user:
response = http.HttpResponse()
response.status_code = 403
return response
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2911 次 |
| 最近记录: |