首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何向登录用户显示一个页面,向Django显示另一个未登录用户?

如何向登录用户显示一个页面,向Django显示另一个未登录用户?
EN

Stack Overflow用户
提问于 2017-03-01 22:08:40
回答 1查看 46关注 0票数 2

我相信这个问题以前有人问过,但我在这里找不到答案。

的目标:显示一个用户不是随机地登录各种帖子,而是显示一个在他们自己的帖子中登录的用户。

来自views.py的两个视图:

代码语言:javascript
运行
复制
def movement_random(request):
    movements = Movement.objects.order_by('?')[:10]
    return render(request, 'blog/movement_random.html', {'movements': movements})

@login_required
def movement_list(request):
    movements = Movement.objects.filter(author=request.user).order_by('-moved_on')
    return render(request, 'blog/movement_list.html', {'movements': movements})

来自urls.py:

从django.conf.urls导入url,包括从。导入视图

代码语言:javascript
运行
复制
urlpatterns = [
    url(r'^$', views.movement_random, name='index'),
    url(r'^$', views.movement_list, name='movement_list'), 
    url(r'^movement/(?P<pk>\d+)/$', views.movement_detail, name='movement_detail'),
    url(r'^movement/new/$', views.movement_new, name='movement_new'),
    url(r'^movement/(?P<pk>\d+)/edit/$', views.movement_edit, name='movement_edit'),
    url(r'^accounts/', include('registration.backends.hmac.urls')),
]

目前,应用程序的“主页”始终是第一个URL,即使是登录用户也是如此。如何向登录用户显示views.movement_list,而向非用户显示views.movement_random

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-01 22:10:35

有两个视图是没有意义的,只需将运动设置为取决于是否在单个视图中进行身份验证

代码语言:javascript
运行
复制
if request.user.is_authenticated():
    movements = Movement.objects.filter(author=request.user).order_by('-moved_on')
else:
    movements = Movement.objects.order_by('?')[:10]
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42543053

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档