我相信这个问题以前有人问过,但我在这里找不到答案。
的目标:显示一个用户不是随机地登录各种帖子,而是显示一个在他们自己的帖子中登录的用户。
来自views.py的两个视图:
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,包括从。导入视图
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?
发布于 2017-03-01 22:10:35
有两个视图是没有意义的,只需将运动设置为取决于是否在单个视图中进行身份验证
if request.user.is_authenticated():
movements = Movement.objects.filter(author=request.user).order_by('-moved_on')
else:
movements = Movement.objects.order_by('?')[:10]https://stackoverflow.com/questions/42543053
复制相似问题