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ā.
- Jūs varat instalēt django-allauth pakotne, izmantojot Pip pakotņu pārvaldnieku:
pip install django-allauth
- 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
] - Pievienojiet autentifikācijas aizmugursistēmas savam iestatījumu failam:
AUTHENTICATION_BACKENDS = [
'django.contrib.auth.backends.ModelBackend',
'allauth.account.auth_backends.AuthenticationBackend',
] - Pievienojiet savam projektam vietnes ID:
SITE_ID = 1
- 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/ :
Varat skatīt pieejamo vietrāžu URL sarakstu, pārejot uz http://127.0.0.1:8000/accounts/ ar DEBUG=Tiesa iestatījumu failā.
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:
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:
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.
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:
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