Login Page

Kategori: Python / Django , 24 Eylül 2019 , JanFranco


İlk olarak bir login formu oluşturalım. forms.py dosyasını açalım ve aşağıdaki class'ı ekleyelim:


class LoginForm(forms.Form):
    username = forms.CharField(max_length=30, required=True, label="Kullanıcı Adı")
    password = forms.CharField(max_length=30, required=True, label="Şifre", widget=forms.PasswordInput)
Daha sonra login.html dosyamızı açalım ve formu ekleyelim:


<form method="post">
    {% csrf_token %}
    {{form.as_p}}
    <br>
    <button type="submit" class="btn btn-danger">Giriş Yap</button>
</form>
views.py dosyasına girelim. Aşağıdaki methodu import edelim:


from django.contrib.auth import authenticate
Son olarak views.py dosyasındaki loginUser fonksiyonunu şu şekilde düzenleyelim:


def loginUser(request):
    form = forms.LoginForm(request.POST or None)

    context = {
        "form" : form
    }

    if form.is_valid():
        username = form.cleaned_data.get("username")
        password = form.cleaned_data.get("password")

        user = authenticate(username = username, password = password)

        if user is None:
            messages.warning(request, "Kullanıcı adı veya şifre hatalı!")
            return render(request, "login.html", context)
        
        login(request, user)
        messages.success(request, "Başarıyla giriş yaptınız...")
        return redirect("index")

    return render(request, "login.html", context)


Sonraki Yazı: Crispy Forms
Yorumlar

Henüz bir yorum bulunmuyor.
Yorum bırakın