Django-allauthi vaikemallid näevad nürid välja ja ei pruugi teie vajadustele vastata. Siit saate teada, kuidas saate neid alistada.

django-allauth on Django pakett, mis võimaldab teil kiiresti ja lihtsalt luua oma Django rakenduste autentimissüsteemi. Sellel on sisseehitatud mallid, mis võimaldavad teil keskenduda oma rakenduse teistele olulistele osadele.

Kuigi sisseehitatud mallid on kasulikud, soovite neid muuta, kuna neil pole parim kasutajaliides.

Kuidas installida ja konfigureerida django-allauth

Järgides mõnda lihtsat sammu, saate django-allauthi oma Django projekti sujuvalt installida.

  1. Saate installida django-allauth pakett Pip paketihalduri abil:
    pip install django-allauth
  2. Lisage oma projekti seadete failis installitud rakendustele järgmised rakendused.
    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. Lisage oma seadete faili autentimise taustaprogrammid:
    AUTHENTICATION_BACKENDS = [
    'django.contrib.auth.backends.ModelBackend',
    'allauth.account.auth_backends.AuthenticationBackend',
    ]
  4. Lisage oma projektile saidi ID:
    SITE_ID = 1
  5. Konfigureerige django-allauthi URL-id:
    from django.urls import path, include

    urlpatterns = [
    # Djang-allauth url pattern
    path('accounts/', include('allauth.urls')),
    ]

Kui teete ülaltoodud konfiguratsioonid õigesti, peaksite lehele navigeerimisel nägema sellist malli http://127.0.0.1:8000/accounts/signup/:

Saate vaadata saadaolevate URL-ide loendit, kui navigeerite saidile http://127.0.0.1:8000/accounts/ koos DEBUG=Tõsi seadete failis.

Kuidas django-allauthis sisselogimismalli alistada

Esiteks peate konfigureerima oma mallid kausta, kui te pole seda teinud. Avage oma seadete fail ja navigeerige MALLID nimekirja. Leidke selle sees DIRS loendit ja muutke seda järgmiselt:

'DIRS': [BASE_DIR/'templates'],

Veenduge, et teil oleks a mallid kausta oma projekti juurkataloogis. Saate django-allauthis vaikimisi sisselogimismalli alistada, järgides järgmisi samme.

1. samm: looge oma mallifailid

Sinu mallid kaust, looge uus kaust nimega konto django-allauthiga seotud mallide hoidmiseks.

Registreerimis- ja sisselogimismallid peaksid olema signup.html ja login.html vastavalt. Saate määrata õige malli nime, avades oma Pythoni virtuaalne keskkond ja navigeerimiseks Lib > saidipaketid > allauth > mallid > konto kausta mallide leidmiseks. Peaksite koodi läbi vaatama, et mõista, kuidas mallid töötavad. Näiteks sisselogimismallis on see kood:

2. samm: lisage oma mallifailidele HTML-kood

Pärast failide loomist peaksite oma malli jaoks lisama kohandatud HTML-koodi. Näiteks ülaltoodud sisselogimismalli alistamiseks võiksite kopeerida kõik failist {% muu %} plokk, mis sisaldab vormi ja esitamisnuppu, ning lisage see oma kohandatud mallile. Siin on näide:

{% 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 %}

Ülaltoodud kood kasutab Django malli pärand pärida funktsioone base.html malli. Eemaldage kindlasti mittevajalikud sildid, nagu {% blocktrans %} tag. Kui olete seda teinud, peaks teie sisselogimisleht sarnanema järgmisele:

Ülaltoodud pildi päis ja jalus erinevad teie omast.

3. samm: lisage oma vormile kohandatud stiile

Eelmises etapis renderdatakse sisselogimisvorm lõiguna, kasutades {{ form.as_p }} tag. Vormi stiilide lisamiseks peate teadma selle väärtust nimi iga sisestusväljaga seotud atribuut.

Saate oma lehte kontrollida, et saada vajalikud väärtused.

Ülaltoodud pilt näitab atribuuti nime, mis on seotud atribuudiga meili vormi väli.

Nüüd saate vormivälju oma projekti eraldi lisada. Näiteks saate meilivälja lisada järgmiselt:

{{ form.login }}
<labelfor="{{form.login.id_for_label}}">Emaillabel>
{{ form.login.errors|safe }}

Sa saad kasutage oma Django projektiga Bootstrapi vormi lihtsaks kujundamiseks. Siin on näide:

<divclass="form-floating form-group">
{{ form.login }}
<labelfor="{{form.login.id_for_label}}">Emaillabel>
{{ form.login.errors|safe }}
div>

Ülaltoodud kood lisab vormile Bootstrapi vormiklassid. Nüüd saate lisada muud vajalikud väljad ja kujundada need vastavalt oma eelistustele. Kui teile ei meeldi stiiliks Bootstrapi kasutamine, django-crispy-forms on alternatiiv vormide kujundamisele. Allolevas näites kasutatakse stiili kujundamiseks Bootstrapi.

<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>

Ülaltoodud koodiplokk annab järgmise pildiga sarnase väljundi:

Django-allauthi vormide kohta saate lisateavet lugedes ametlik dokumentatsioon.

Alista kõik mallid django-allauthis

django-allauth sisaldab palju vaikemalle, mida saate alistada. Selle juhendi juhiste abil saate django-allauthis mis tahes malli alistada. Peaksite kaaluma selle paketi kasutamist oma autentimissüsteemi haldamiseks, et saaksite keskenduda oma rakenduse muude oluliste funktsioonide loomisele.