Views.pyДжанго: как отправить аргумент в HtpResponseRedirect
from django.shortcuts import render
from django.template.context_processors import csrf
from django.http import HttpResponseRedirect
from django.shortcuts import render_to_response
from .models import studentDetails
from .forms import loginForm
# Create your views here.
def login(request):
c = {}
c.update(csrf(request))
return render(request, "login.html", c)
def auth_view(request):
username = request.POST.get("username", "")
password = request.POST.get("password", "")
q = studentDetails.objects.get(name=username)
if q.password==password:
return HttpResponseRedirect("/student/accounts/loggedin")
return HttpResponseRedirect("/studemt/accounts/invalid")
def loggedin(request):
username = request.GET.get("username")
return render(request, "loggedin.html", {"full_name": username})
def invalid(request):
return render(request, "invalid_login.html")
def logout(request):
return render(request, "logout.html")
Urls.py
from django.conf.urls import url
from django.contrib import admin
from .views import (
login,
auth_view,
loggedin,
logout
)
urlpatterns = [
url(r"^accounts/login/$", login , name="login"),
url(r"^accounts/auth/$", auth_view ,name="auth_view"),
url(r"^accounts/loggedin/$", loggedin , name="loggedin"),
url(r"^accounts/logout/$", logout, name="logout"),
]
я хочу отправить имя пользователя из auth_view в LoggedIn вид, но я don'y знаете, как это сделать. Я использовал username = request.GET.get("username")
, но он не работает. Я хочу показать имя пользователя в url и так, чтобы оно выглядело как /student/username/
где имя пользователя изменится как другое имя пользователя.
** «где имя пользователя будет меняться другой логин пользователя» ** Я думаю, что мой ответ поможет http://stackoverflow.com/questions/38781442/how-to-rewrite-base-url- in-django-to-add-log-in-username-in-the-ur-all-pa/38895767 # 38895767 –
в моем quesion auth_view не передает ни одной странице, это просто проверка данных, и она хочет отправить имя пользователя от просмотра auth_view до loggedin. –
Обычно вы храните это в [сеансе] (https://docs.djangoproject.com/en/1.10/topics/http/sessions/). Или используйте [djangos auth system] (https://docs.djangoproject.com/en/1.10/topics/auth/default/) вместо того, чтобы кататься самостоятельно. – mata