Django-allauth'ta Varsayılan Şablonlar Nasıl Geçersiz Kılır

Django-allauth'ta Varsayılan Şablonlar Nasıl Geçersiz Kılır
Sizin gibi okuyucular MUO'yu desteklemeye yardımcı oluyor. Sitemizdeki bağlantıları kullanarak bir satın alma işlemi yaptığınızda ortaklık komisyonu kazanabiliriz. Devamını oku.

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.





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

  kayıt formu

Mevcut URL'lerin listesini şuraya giderek görebilirsiniz: http://127.0.0.1:8000/accounts/ ile HATA AYIKLAMA=Doğru ayarlar dosyanızda.



  Django DEBUG modunda, Django-allauth'ta mevcut URL modellerinin listesini gösteren bir 404 sayfası

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:





  django allauth varsayılan giriş kodu bloğu

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
  güzel bir üstbilgi ve altbilgiye sahip bir giriş sayfası

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.

  Bir tarayıcı's dev tools showing the code for a login page

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:

  E-posta, şifre ve beni hatırla için üç alan içeren bir giriş formu. Şöyle yazan sarı bir düğme var

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.