Kā ignorēt noklusējuma veidnes programmā django-allauth

Kā ignorēt noklusējuma veidnes programmā django-allauth
Tādi lasītāji kā jūs palīdz atbalstīt MUO. Veicot pirkumu, izmantojot saites mūsu vietnē, mēs varam nopelnīt filiāles komisiju. Lasīt vairāk.

django-allauth ir Django pakotne, kas ļauj ātri un vienkārši izveidot autentifikācijas sistēmu jūsu Django lietotnēm. Tajā ir iebūvētas veidnes, kas ļauj koncentrēties uz citām svarīgām lietotnes daļām.





MUO dienas video RITINĀT, LAI TURPINĀTU AR SATURU

Lai gan iebūvētās veidnes ir noderīgas, jūs vēlēsities tās mainīt, jo tām nav labākā lietotāja saskarne.





kā ierakstīt tālruņa zvanu savā iPhone

Kā instalēt un konfigurēt django-allauth

Veicot dažas vienkāršas darbības, jūs varat nemanāmi instalēt django-allauth savā Django projektā.





  1. Jūs varat instalēt django-allauth pakotne, izmantojot Pip pakotņu pārvaldnieku:
     pip install django-allauth 
  2. Sava projekta iestatījumu failā pievienojiet instalētajām lietotnēm šīs lietotnes:
     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. Pievienojiet autentifikācijas aizmugursistēmas savam iestatījumu failam:
     AUTHENTICATION_BACKENDS = [ 
        'django.contrib.auth.backends.ModelBackend',
        'allauth.account.auth_backends.AuthenticationBackend',
    ]
  4. Pievienojiet savam projektam vietnes ID:
     SITE_ID = 1 
  5. Konfigurējiet vietrāžus URL django-allauth:
     from django.urls import path, include 

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

Ja veicat iepriekš minētās konfigurācijas pareizi, pārejot uz šo, jums vajadzētu redzēt šādu veidni http://127.0.0.1:8000/accounts/signup/ :

  pierakstīšanās veidlapa

Varat skatīt pieejamo vietrāžu URL sarakstu, pārejot uz http://127.0.0.1:8000/accounts/ ar DEBUG=Tiesa iestatījumu failā.



  404 lapa Django DEBUG režīmā, kurā parādīts django-allauth pieejamo URL rakstu saraksts

Kā ignorēt pieteikšanās veidni programmā django-allauth

Pirmkārt, jums ir jākonfigurē savs veidnes mapi, ja neesat to izdarījis. Atveriet iestatījumu failu un dodieties uz VEIDNES sarakstu. Tā iekšpusē atrodiet REŽ sarakstu un mainiet to šādi:

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

Pārliecinieties, vai jums ir a veidnes mapi sava projekta saknes direktorijā. Varat ignorēt noklusējuma pieteikšanās veidni programmā django-allauth, veicot šīs nākamās darbības.





1. darbība: izveidojiet savus veidņu failus

Tavā veidnes mapi, izveidojiet jaunu mapi ar nosaukumu konts lai turētu ar django-allauth saistītās veidnes.

kā atrast kucēnus pārdošanai

Reģistrācijas un pieteikšanās veidnēm jābūt signup.html un login.html attiecīgi. Pareizo veidnes nosaukumu varat noteikt, atverot savu Python virtuālā vide un navigācija uz Lib > vietņu pakotnes > allauth > veidnes > konts mapi, lai atrastu veidnes. Lai saprastu, kā darbojas veidnes, jums ir jāiet cauri kodam. Piemēram, pieteikšanās veidnē ir šāds kods:





  django allauth noklusējuma pieteikšanās koda bloks

2. darbība. Pievienojiet HTML kodu saviem veidņu failiem

Pēc failu izveides pievienojiet savai veidnei pielāgoto HTML kodu. Piemēram, lai ignorētu iepriekš minēto pieteikšanās veidni, iespējams, vēlēsities kopēt visu no {% cits %} bloku, kurā ir veidlapa un iesniegšanas poga, un pievienojiet to savai pielāgotajai veidnei. Šeit ir piemērs:

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

Tiek izmantots iepriekš minētais kods Django veidnes mantojums mantot pazīmes no base.html veidne. Noteikti noņemiet nevajadzīgās atzīmes, piemēram, {% blocktrans %} tagu. Ja esat to izdarījis, jūsu pieteikšanās lapai ir jābūt līdzīgai šim:

  pieteikšanās lapa ar jauku galveni un kājeni

Augšējā attēla galvene un kājene atšķirsies no jūsu.

3. darbība. Pievienojiet savai veidlapai pielāgotus stilus

Iepriekšējā darbībā pieteikšanās forma tiek atveidota kā rindkopa, izmantojot {{ form.as_p }} tagu. Lai savai veidlapai pievienotu stilus, jums jāzina vērtība nosaukums atribūts, kas saistīts ar katru ievades lauku.

Varat pārbaudīt savu lapu, lai iegūtu vajadzīgās vērtības.

  Pārlūks's dev tools showing the code for a login page

Augšējā attēlā parādīts nosaukuma atribūts, kas saistīts ar e-pasts veidlapas lauks.

Tagad savam projektam varat pievienot veidlapas laukus atsevišķi. Piemēram, varat pievienot e-pasta lauku šādi:

 {{ form.login }} 
<label for="{{form.login.id_for_label}}">Email</label>
{{ form.login.errors|safe }}

Jūs varat izmantojiet Bootstrap ar savu Django projektu lai viegli veidotu savu formu. Šeit ir piemērs:

 <div class="form-floating form-group"> 
{{ form.login }}
<label for="{{form.login.id_for_label}}">Email</label>
{{ form.login.errors|safe }}
</div>

Iepriekš minētais kods pievieno veidlapai Bootstrap veidlapas klases. Tagad varat pievienot citus nepieciešamos laukus un veidot tos pēc saviem ieskatiem. Ja jums nepatīk izmantot Bootstrap stila veidošanai, django-crispy-forms ir alternatīva formu veidošanai . Tālāk sniegtajā piemērā stilam tiek izmantots Bootstrap.

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

Iepriekš esošais koda bloks radīs izvadi, kas ir līdzīga šim attēlam:

  Pieteikšanās forma ar trim laukiem e-pastam, parolei un atcerieties mani. Tam ir dzeltena poga, kas saka

Vairāk par django-allauth formām varat uzzināt, izlasot oficiālā dokumentācija .

Ignorēt jebkuru veidni programmā django-allauth

django-allauth satur daudzas noklusējuma veidnes, kuras varat ignorēt. Veicot šajā rokasgrāmatā norādītās darbības, varat ignorēt jebkuru veidni programmā django-allauth. Apsveriet iespēju izmantot šo pakotni, lai apstrādātu savu autentifikācijas sistēmu, lai jūs varētu koncentrēties uz citu svarīgo lietojumprogrammas funkciju izveidi.

izdrukāt failu sarakstu mapē Windows 10