У меня есть один URL-адрес «mywebsite/home», где у меня есть форма для входа. Я перенаправляю пользователя при входе в другой URL-адрес «mywebsite/users». У меня есть учетные данные для входа в мою базу данных, и предполагается, что они будут использоваться только ограниченным пользователем. Итак, как я могу сделать перенаправление обязательным для просмотра «mywebsite/users»? Я использую django, прямо сейчас любой, кто знает URL, может получить доступ к странице.Сделать перенаправление необходимым для просмотра URL-адреса
мои взгляды следующим образом:
def home(request):
usr = request.GET.get('username')
pas = request.GET.get('password')
userdata = Login.objects.filter(Q(username = usr) | Q(userid = usr))
if Login.objects.filter(Q(username = usr) | Q(userid = usr)).exists():
p = list(userdata.values('password'))
b = p[0]['password']
if pas == b:
request.session['usr'] = usr
return redirect('/users')
def users(request):
return render(request, "ex.html")
О, дорогая. Надеюсь, вы не пишете свой собственный механизм входа, который хранит пароли как обычный текст. Вы никогда не должны этого делать **. Используйте [систему проверки подлинности Django] (https://docs.djangoproject.com/en/1.8/topics/auth/). –
Который, кстати, имеет декоратор '@ login_required', который намного более разумен, чем полагаться на переадресацию. –
Да, я пытался это сделать, у меня есть логин google на моей домашней странице, хотя для чего у меня нет базы данных –