Django-allauth'un varsayılan şablonları basit görünebilir ve ihtiyaçlarınızı karşılamayabilir. Bunları nasıl geçersiz kılabileceğiniz aşağıda açıklanmıştır.

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.

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.

  1. Yükleyebilirsiniz django-allauth Pip paket yöneticisini kullanarak paket:
    pip install django-allauth
  2. 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
    ]

  3. instagram viewer
  4. Ayarlar dosyanıza kimlik doğrulama arka uçlarını ekleyin:
    AUTHENTICATION_BACKENDS = [
    'django.contrib.auth.backends.ModelBackend',
    'allauth.account.auth_backends.AuthenticationBackend',
    ]
  5. Projenize bir site kimliği ekleyin:
    SITE_ID = 1
  6. 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:

'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
<ahref="{{ signup_url }}">sign upa> first.p>

<formclass="login"method="POST"action="{% url 'account_login' %}">
{% csrf_token %}
{{ form.as_p }}
{% if redirect_field_value %}
<inputtype="hidden"name="{{ redirect_field_name }}"value="{{ redirect_field_value }}" />
{% endif %}
<aclass="button secondaryAction"href="{% url 'account_reset_password' %}">Forgot password?a>
<buttonclass="primaryAction"type="submit">SIgn inbutton>
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:

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 }}
<labelfor="{{form.login.id_for_label}}">Emaillabel>
{{ form.login.errors|safe }}

Yapabilirsiniz Bootstrap'i Django projenizle kullanın formunuza kolayca stil vermek için. İşte bir örnek:

<divclass="form-floating form-group">
{{ form.login }}
<labelfor="{{form.login.id_for_label}}">Emaillabel>
{{ 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.

<divclass="container d-flex justify-content-center align-items-center vh-100">
<formmethod="post"class="login"id="signup_form"action="{% url 'account_login' %}">
<divclass="text-center mb-4">
<h1class="h3 mb-3 font-weight-normal">Sign inh1>
div>
{{ form.non_field_errors | safe }}
{% csrf_token %}
<divclass="row g-3">
<divclass="col-12">
<divclass="form-floating form-group">
{{ form.login }}
<labelfor="{{form.login.id_for_label}}">Emaillabel>
{{ form.login.errors|safe }}
div>
div>
<divclass="col-12">
<divclass="form-floating form-group my-3">
{{ form.password }}
<labelfor="{{form.password.id_for_label}}">Passwordlabel>
{{ form.password.errors|safe }}
div>
div>
<divclass="col-12">
<divclass="form-check">
<labelfor="{{form.remember.id_for_label}}"class="form-check-label">Remember melabel>
{{ form.remember }}
div>
div>
<divclass="col-6">
{% if redirect_field_value %}
<inputtype="hidden"name="{{ redirect_field_name }}"value="{{ redirect_field_value }}" />
{% endif %}
<buttonclass="btn btn-primary w-100 py-3 bg-accent"type="submit">Sign inbutton>
<aclass="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.

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.