2
我相信這個問題之前已經被問過了,但我在這裏找不到答案。如何使用Django向已登錄的用戶顯示一個頁面並向另一個未登錄的用戶顯示另一個頁面?
目標:顯示未在帖子的隨機分類記錄了用戶但是被記錄在自己的一切職位用戶。
從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進口網址,包括 。導入視圖
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
顯示爲非用戶?
我不希望他們被渲染爲兩個視圖中HTMLS是否要驗證是相同的 –
@MosesKoledoye - 的確如此,但是從他們的用例描述中,我看不到他們不應該這樣做的原因(否則只需在這裏爲模板名稱設置兩個變量) – Sayse