我在主頁本身有我的登錄表單,即「/」。現在從那裏我想重定向一個用戶到0.0.0.0:8000/username其中'用戶名'不是靜態的,它對於不同的用戶我有所不同。 我是Django的初學者。請在部門解釋。在此先感謝如何從我的登錄頁面重定向到:8000/Django用戶名
1
A
回答
1
你可以做的是在你的urls.py中定義一個家庭網址和個人資料網址。
#urls.py
url(r'^$', 'app.views.home'),
url(r'^(?P<username>\w+)/$', 'app.views.profile'),
現在正在views.py定義2次一個渲染主頁和第二呈現的個人資料頁
# views.py
import models
from django.shortcuts import render_to_response
from django.templates import RequestContext
from django.contrib.auth import authenticate, login
def home(request):
"""
this is the landing page for your application.
"""
if request.method == 'POST':
username, password = request.POST['username'], request.POST['password']
user = authenticate(username=username, password=password)
if not user is None:
login(request, user)
# send a successful login message here
else:
# Send an Invalid Username or password message here
if request.user.is_authenticated():
# Redirect to profile page
redirect('/%s/' % request.user.username)
else:
# Show the homepage with login form
return render_to_response('home.html', context_instance=RequestContext(request))
def profile(request, username):
"""
This view renders a user's profile
"""
user = user.objects.get(username=username)
render_to_response('profile.html', { 'user' : user})
現在,當第一個URL /
要求它請求轉發到app.views.home
哪些表示主視圖===在===> views.py ===在===>app
應用程序中。
主視圖檢查用戶是否被認證。如果用戶通過身份驗證,則會調用url /username
,否則它只會在模板目錄中呈現名爲home.html
的模板。
配置文件視圖接受2個參數,1.請求和2.用戶名。現在,當使用上述參數調用配置文件視圖時,它將獲取所提供用戶名的用戶實例,並將其存儲在user
變量中,然後將其傳遞給profile.html
模板。
也請通讀非常容易的Poll Application Tutorial on Django Project來熟悉django的力量。
:)
相關問題
- 1. 如何在用戶未登錄時將用戶重定向到登錄頁面
- 2. 當用戶已登錄時,從CAS登錄頁面重定向
- 3. 用戶登錄後頁面重定向
- 4. 重定向用戶登錄頁面
- 5. 當用戶未登錄時重定向到登錄頁面(asp)
- 6. TYPO3 - 用戶未登錄時重定向到登錄頁面
- 7. Active Admin成功登錄重定向到用戶登錄頁面
- 8. 如何將用戶重定向到ACS默認登錄頁面
- 9. 如何將用戶重定向到JSF登錄頁面
- 10. 將用戶重定向到帳戶頁面(如果已登錄)
- 11. 如何在登錄後用用戶名重定向到同一頁面PHP
- 12. 即使用戶登錄頁面預覽重定向到登錄頁面
- 13. 頁面重定向到登錄頁
- 14. 將用戶重定向到登錄頁面註冊後(登記)
- 15. Drupal的6 - 重定向匿名用戶登錄頁面
- 16. 如果用戶使用PHP登錄頁面,我該如何重定向用戶?
- 17. 登錄重定向到指定頁面
- 18. 如果用戶未登錄到JSF,重定向到登錄頁面
- 19. 將用戶從登錄頁面重定向到登錄Rails並與Devise
- 20. 如何重定向到登錄頁面客戶端
- 21. 重定向到IFrame的登錄頁面
- 22. 登錄頁面重定向
- 23. 將登錄頁面重定向到登錄頁面(如果沒有登錄)(tanyacms)
- 24. 重定向到登錄頁面,如果沒有登錄到facebook
- 25. 當用戶未登錄時在登錄頁面上重定向
- 26. 如何在頁面刷新後重定向到登錄頁面
- 27. Laravel 4重定向登錄用戶到特定頁面
- 28. 登錄後將用戶重定向到特定頁面
- 29. 重定向登錄頁面從angularjs
- 30. 重定向從登錄頁面
但是,問題是,當我點擊提交在「/」,其中做指導,即會在什麼樣的行動=「?」。 –
它取決於您想要處理登錄的位置,請將'action ='屬性留空。如果你想要主視圖來處理登錄。我已更新答案以處理表單發佈中的登錄,然後重定向用戶。看一看。 – Amyth
謝謝,解決了問題.......我在我的url pattens的順序有問題。我保留動態網址結束,它解決了問題 –