django-allauth, Django uygulamalarınız için hızlı ve kolay bir kimlik doğrulama sistemi oluşturmanıza olanak tanıyan bir Django paketidir. Uygulamanızın diğer önemli bölümlerine odaklanmanıza olanak tanıyan yerleşik şablonlara sahiptir.
MUO Günün videosu İÇERİĞE DEVAM ETMEK İÇİN KAYDIRIN
Yerleşik şablonlar yararlı olsa da, en iyi kullanıcı arayüzüne sahip olmadıkları için bunları değiştirmek isteyeceksiniz.
Django-allauth Nasıl Kurulur ve Yapılandırılır
Birkaç basit adımı izleyerek Django-allauth'u Django projenize sorunsuz bir şekilde yükleyebilirsiniz.
- Yükleyebilirsiniz django-allauth Pip paket yöneticisini kullanarak paket:
pip install django-allauth
- Projenizin ayarlar dosyasında şu uygulamaları yüklü uygulamalarınıza ekleyin:
INSTALLED_APPS = [
"""
Add your other apps here
"""
# Djang-allauth configuration apps
'django.contrib.sites',
'allauth',
'allauth.account',
'allauth.socialaccount', # add this if you want to enable social authentication
] - Ayarlar dosyanıza kimlik doğrulama arka uçlarını ekleyin:
AUTHENTICATION_BACKENDS = [
'django.contrib.auth.backends.ModelBackend',
'allauth.account.auth_backends.AuthenticationBackend',
] - Projenize bir site kimliği ekleyin:
SITE_ID = 1
- Django-allauth için URL'leri yapılandırın:
from django.urls import path, include
urlpatterns = [
# Djang-allauth url pattern
path('accounts/', include('allauth.urls')),
]
Yukarıdaki konfigürasyonları doğru bir şekilde yaptıysanız aşağıdaki gibi bir şablonla karşılaşmalısınız. http://127.0.0.1:8000/accounts/signup/ :
Mevcut URL'lerin listesini şuraya giderek görebilirsiniz: http://127.0.0.1:8000/accounts/ ile HATA AYIKLAMA=Doğru ayarlar dosyanızda.
Django-allauth'ta Giriş Şablonu Nasıl Geçersiz Kılır
İlk önce, yapılandırmanızı yapmanız gerekir şablonlar Eğer bunu yapmadıysanız klasör. Ayarlar dosyanızı açın ve şuraya gidin: ŞABLONLAR liste. İçinde, şunu bulun: YÖNERGELER listeleyin ve şu şekilde değiştirin:
ses dosyası nasıl sıkıştırılır
'DIRS': [BASE_DIR/'templates'],
Sahip olduğunuzdan emin olun şablonlar Projenizin kök dizinindeki klasör. Aşağıdaki adımları izleyerek Django-allauth'taki varsayılan oturum açma şablonunu geçersiz kılabilirsiniz.
1. Adım: Şablon Dosyalarınızı Oluşturun
senin içinde şablonlar klasör adında yeni bir klasör oluşturun hesap Django-allauth ile ilgili şablonları tutmak için.
Kayıt ve giriş şablonları şöyle olmalıdır: kayıt.html Ve giriş.html sırasıyla. Dosyanızı açarak doğru şablon adını belirleyebilirsiniz. Python sanal ortamı ve şuraya gidiyor: Lib > site paketleri > allauth > şablonlar > hesap şablonları bulmak için klasör. Şablonların nasıl çalıştığını anlamak için kodu incelemelisiniz. Örneğin, oturum açma şablonunun içinde şu kod bulunur:
2. Adım: Şablon Dosyalarınıza HTML Kodunu Ekleyin
Dosyalarınızı oluşturduktan sonra şablonunuza özel HTML kodunu eklemelisiniz. Örneğin, yukarıdaki oturum açma şablonunu geçersiz kılmak için her şeyi kopyalamak isteyebilirsiniz. {% başka %} Formu ve gönderim düğmesini içeren bloğu seçin ve bunu özel şablonunuza ekleyin. İşte bir örnek:
{% extends 'base.html' %}
{% block content %}
<p>If you have not created an account yet, then please
<a href="{{ signup_url }}">sign up</a> first.</p>
<form class="login" method="POST" action="{% url 'account_login' %}">
{% csrf_token %}
{{ form.as_p }}
{% if redirect_field_value %}
<input type="hidden" name="{{ redirect_field_name }}" value="{{ redirect_field_value }}" />
{% endif %}
<a class="button secondaryAction" href="{% url 'account_reset_password' %}">Forgot password?</a>
<button class="primaryAction" type="submit">SIgn in</button>
</form>
{% endblock content %}
Yukarıdaki kod şunu kullanır: Django'nun şablon mirası özellikleri miras almak için base.html şablon. gibi gereksiz etiketleri kaldırdığınızdan emin olun. {% bloktrans %} etiket. Bunu yaptıysanız giriş sayfanız şuna benzer olmalıdır:
realtek hoparlörler Windows 10 çalışmıyor
Yukarıdaki resimdeki üstbilgi ve altbilgi sizinkinden farklı olacaktır.
3. Adım: Formunuza Özel Stiller Ekleyin
Önceki adımda, giriş formu kullanılarak paragraf olarak oluşturulur. {{ form.as_p }} etiket. Formunuza stil eklemek için stilin değerini bilmeniz gerekir. isim her giriş alanıyla ilişkili öznitelik.
İhtiyacınız olan değerleri almak için sayfanızı inceleyebilirsiniz.
Yukarıdaki resimde, ilgili ad özelliği gösterilmektedir. e-posta formun alanı.
Artık form alanlarını projenize tek tek ekleyebilirsiniz. Örneğin, e-posta alanını şu şekilde ekleyebilirsiniz:
{{ form.login }}
<label for="{{form.login.id_for_label}}">Email</label>
{{ form.login.errors|safe }}
Yapabilirsiniz Bootstrap'i Django projenizle kullanın formunuza kolayca stil vermek için. İşte bir örnek:
<div class="form-floating form-group">
{{ form.login }}
<label for="{{form.login.id_for_label}}">Email</label>
{{ form.login.errors|safe }}
</div>
Yukarıdaki kod, Bootstrap form sınıflarını forma ekler. Artık ihtiyacınız olan diğer alanları ekleyebilir ve bunları tercihinize göre şekillendirebilirsiniz. Stil vermek için Bootstrap'i kullanmaktan hoşlanmıyorsanız, django-crispy-forms formlarınızı şekillendirmeye bir alternatiftir . Aşağıdaki örnek stillendirme için Bootstrap'i kullanıyor.
<div class="container d-flex justify-content-center align-items-center vh-100">
<form method="post" class="login" id="signup_form" action="{% url 'account_login' %}">
<div class="text-center mb-4">
<h1 class="h3 mb-3 font-weight-normal">Sign in</h1>
</div>
{{ form.non_field_errors | safe }}
{% csrf_token %}
<div class="row g-3">
<div class="col-12">
<div class="form-floating form-group">
{{ form.login }}
<label for="{{form.login.id_for_label}}">Email</label>
{{ form.login.errors|safe }}
</div>
</div>
<div class="col-12">
<div class="form-floating form-group my-3">
{{ form.password }}
<label for="{{form.password.id_for_label}}">Password</label>
{{ form.password.errors|safe }}
</div>
</div>
<div class="col-12">
<div class="form-check">
<label for="{{form.remember.id_for_label}}" class="form-check-label">Remember me</label>
{{ form.remember }}
</div>
</div>
<div class="col-6">
{% if redirect_field_value %}
<input type="hidden" name="{{ redirect_field_name }}" value="{{ redirect_field_value }}" />
{% endif %}
<button class="btn btn-primary w-100 py-3 bg-accent" type="submit">Sign in</button>
<a class="button secondaryAction text-accent" href="{% url 'account_reset_password' %}">Forgot
Password?</a>
</div>
</div>
</form>
</div>
Yukarıdaki kod bloğu aşağıdaki görüntüye benzer bir çıktı üretecektir:
Django-allauth'taki formlar hakkında daha fazla bilgi edinmek için şu makaleyi okuyabilirsiniz: resmi belgeler .
samsung tv'ye uygulama nasıl indirilir
Django-allauth'ta Herhangi Bir Şablonu Geçersiz Kıl
django-allauth, geçersiz kılabileceğiniz birçok varsayılan şablon içerir. Bu kılavuzdaki adımlarla Django-allauth'taki herhangi bir şablonu geçersiz kılabilirsiniz. Kimlik doğrulama sisteminizi yönetmek için bu paketi kullanmayı düşünmelisiniz, böylece uygulamanızın diğer önemli özelliklerini oluşturmaya odaklanabilirsiniz.