Comment implémenter l'authentification des utilisateurs dans Python Django

Qu'est-ce que l'authentification ? Sur de nombreux sites Web, nous voulons une méthode d'authentification. Une certaine capacité pour les utilisateurs de pouvoir se connecter et se déconnecter. Dans ce blog, nous allons présenter une application qui nous permet d'interagir avec cette méthode d'authentification en utilisant les méthodes d'authentification intégrées de Django.

Parce que Django a tout un tas de fonctionnalités d'authentification intégrées dans le cadre dont nous pouvons tirer parti, nous n'avons pas besoin de réécrire toute la logique pour savoir comment vous connecter quelqu'un et ce que cela signifie pour représenter l'utilisateur. Django a fait beaucoup de cela pour nous.

Nous allons donc créer une application pour le faire maintenant.

Étape 1 : Créez une application qui maintiendra les utilisateurs à l'intérieur de n'importe quelle application. Par exemple, les utilisateurs utilisant la commande

python manage.py startapp users

Étape 2 : chaque fois que vous créez une nouvelle application, accédez à settings.py et mettez à jour les applications installées avec le nouveau nom de l'application.

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'users',
]

Étape 3 : Accédez à urls.py et définissez le chemin des nouvelles URL de l'application :

from django.contrib import admin
from django.urls import path, include
urlpatterns = [
    path('admin/', admin.site.urls),
    path('',include('user.urls'))
]

Étape 4 : Maintenant, dans l'application des utilisateurs, toutes les URL associées à l'application de mon utilisateur. Je dois importer le chemin, importer mes vues, puis définir des modèles d'URL. Ici, définissez les URL sur trois fonctions : index , login et logout. Nous aurons donc effectivement trois itinéraires différents. Une route d'indexation principale qui va juste afficher des informations sur l'utilisateur actuellement connecté. Un itinéraire pour connecter quelqu'un, un formulaire qui affichera l'endroit où il peut saisir un nom d'utilisateur et un mot de passe pour se connecter. Et puis, un itinéraire pour permettre aux utilisateurs de se déconnecter également de cette application.

from django.urls import path
from .import views

app_name='users'

urlpatterns = [
    path('index',views.index,name="index"),
    path('user',views.login_page,name="login"),
    path('logout',views.logout_page,name="logout"),
]

Créons maintenant nos modèles dans l'application. Je vais créer un dossier de modèles. À l'intérieur de laquelle nous allons juste créer une mise en page de base. Ce sera la structure générale des pages de cette application. Ici, il s'appelle layout.html :

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Users</title>
</head>
<body>
    {% block body %}
    {% endblock %}

</body>
</html>

Et maintenant que j'ai cette mise en page HTML, je peux continuer et créer un nouveau fichier appelé login.html, où login.html étendra layout.html. Et à l'intérieur du bloc body, je peux simplement afficher sous forme HTML.

login.html :

{% extends "layout.html" %}

{% block body %}
{% if message %}
    <div>{{message}}</div>
{% endif %}
<form action="{% url 'users:login' %}" method="post">
    {% csrf_token %}
    <input type="text" name="username" placeholder="Username">
    <input type="password" name="password" placeholder="Password">
    <input type="submit" value="Log in">
</form>

{% endblock %}

Ici, lorsque je me connecte, je soumets un formulaire. Généralement, lorsque vous faites cela, vous souhaitez soumettre les données du formulaire par courrier, en particulier dans le cas du nom d'utilisateur et du mot de passe. Parce que si vous faites ce genre de chose, vous ne voulez pas que le nom d'utilisateur et le mot de passe soient transmis en tant que paramètres get car ceux-ci apparaissent dans l'URL.

Permet maintenant de se connecter à l'administrateur et d'ajouter des champs de nom d'utilisateur et de mot de passe. Et ces utilisateurs, ils peuvent avoir des informations supplémentaires qui leur sont associées comme le prénom, le nom, l'email.

Ensuite, écrivons views.py pour une authentification complète. Dans views.py , nous devons d'abord réfléchir à ce qui devrait se passer si quelqu'un essaie d'accéder à cette page mais qu'il n'est pas authentifié. Comment le découvririons-nous et que faisons-nous dans cette situation ? Eh bien, disons, si ce n'est pas request.user.is_authentiated, l'objet de requête qui est transmis dans le cadre de la requête à chaque utilisateur dans Django a automatiquement un attribut utilisateur qui lui est associé. Et cet objet utilisateur a un is_authenticatedattribut qui nous dit si l'utilisateur est connecté ou non. S'ils ne sont pas connectés, nous continuerons et la réponse HTTP les redirigera vers la vue de connexion. Et pour que cela fonctionne, je vais avoir besoin de-- f_rom django.http importer HttpResponseRedirect_. Et de même, à partir de django.urls , allez-y et importez également à l'envers .

Donc, si l'utilisateur n'est pas authentifié, nous allons le rediriger vers la vue de connexion, un formulaire où l'utilisateur peut se connecter.

Ensuite, dans la vue de connexion , il existe deux manières d'appeler la fonction de vue de connexion. L'une est via la méthode get request, ce qui signifie simplement afficher le formulaire de connexion. Et l'un est par la poste, soumettez également des données au formulaire de connexion. Donc, si la méthode de demande est post, obtenez le nom d'utilisateur qui sera à l'intérieur des données de publication dans un champ appelé nom d'utilisateur. Et laissez-moi obtenir le mot de passe, qui sera dans un champ dans le request.post à l'intérieur du mot de passe.

Authentifiez ensuite les utilisateurs à l'aide de la méthode d' authentification intégrée de Django . Si un utilisateur est renvoyé, continuez et connectez-vous à l'aide de la méthode de connexion intégrée de Django , sinon retournez à la page de connexion affichant un message Informations d'identification non valides.

Écrivez maintenant la vue de déconnexion à l'aide de la fonction de déconnexion intégrée de Django. N'oubliez pas d'importer

authentification, connexion, déconnexion de django.contrib.auth.

from django.shortcuts import render
from django.http import HttpResponseRedirect
from django.urls import reverse
from django.contrib.auth import authenticate,login,logout
## Create your views here.

def index(request):
    if not request.user.is_authenticated:
        return HttpResponseRedirect(reverse('login'))
    return render(request, "user.html")

def login_page(request):
    if request.method == "POST":
        username = request.POST['username']
        password=request.POST['password']
        user=authenticate(request,username=username,password=password)
        if user is not None:
            login(request,user)
            return HttpResponseRedirect(reverse("users:index"))
        else:
            return render(request,"userlogin.html",{
                "message":"Invalid Credentials"
            })
    return render(request,"userlogin.html")

def logout_page(request):
    logout(request)
    return render(request,'userlogin.html',{
        'message':"Logged out"
    })

Donc, enfin, si l'utilisateur est authentifié, il ira sur user.html qui montre ici quelques informations sur l'utilisateur.

{% extends "layout.html" %}

{% block body %}
<h2> Welcome {{request.user.firstname}}</h2>
<ul>
    <li>Username: {{request.user.username}}</li>
    <li>Email:{{request.user.email}}</li>
</ul>

<a href="{%url 'users:logout' %}">Log Out</a>
{% endblock %}

Il s'agit du système d'authentification des utilisateurs intégré à Django. Un système qui nous permet de permettre très rapidement aux utilisateurs de pouvoir se connecter, se déconnecter, depuis notre application web. Django fournit de nombreuses fonctionnalités intéressantes pour les développeurs qui peuvent être utilisées efficacement. J'espère que cela est utile. Merci d'avoir lu.

What is GEEK

Buddha Community

Ray  Patel

Ray Patel

1619510796

Lambda, Map, Filter functions in python

Welcome to my Blog, In this article, we will learn python lambda function, Map function, and filter function.

Lambda function in python: Lambda is a one line anonymous function and lambda takes any number of arguments but can only have one expression and python lambda syntax is

Syntax: x = lambda arguments : expression

Now i will show you some python lambda function examples:

#python #anonymous function python #filter function in python #lambda #lambda python 3 #map python #python filter #python filter lambda #python lambda #python lambda examples #python map

Ahebwe  Oscar

Ahebwe Oscar

1620177818

Django admin full Customization step by step

Welcome to my blog , hey everyone in this article you learn how to customize the Django app and view in the article you will know how to register  and unregister  models from the admin view how to add filtering how to add a custom input field, and a button that triggers an action on all objects and even how to change the look of your app and page using the Django suit package let’s get started.

Database

Custom Titles of Django Admin

Exclude in Django Admin

Fields in Django Admin

#django #create super user django #customize django admin dashboard #django admin #django admin custom field display #django admin customization #django admin full customization #django admin interface #django admin register all models #django customization

Shardul Bhatt

Shardul Bhatt

1626775355

Why use Python for Software Development

No programming language is pretty much as diverse as Python. It enables building cutting edge applications effortlessly. Developers are as yet investigating the full capability of end-to-end Python development services in various areas. 

By areas, we mean FinTech, HealthTech, InsureTech, Cybersecurity, and that's just the beginning. These are New Economy areas, and Python has the ability to serve every one of them. The vast majority of them require massive computational abilities. Python's code is dynamic and powerful - equipped for taking care of the heavy traffic and substantial algorithmic capacities. 

Programming advancement is multidimensional today. Endeavor programming requires an intelligent application with AI and ML capacities. Shopper based applications require information examination to convey a superior client experience. Netflix, Trello, and Amazon are genuine instances of such applications. Python assists with building them effortlessly. 

5 Reasons to Utilize Python for Programming Web Apps 

Python can do such numerous things that developers can't discover enough reasons to admire it. Python application development isn't restricted to web and enterprise applications. It is exceptionally adaptable and superb for a wide range of uses.

Robust frameworks 

Python is known for its tools and frameworks. There's a structure for everything. Django is helpful for building web applications, venture applications, logical applications, and mathematical processing. Flask is another web improvement framework with no conditions. 

Web2Py, CherryPy, and Falcon offer incredible capabilities to customize Python development services. A large portion of them are open-source frameworks that allow quick turn of events. 

Simple to read and compose 

Python has an improved sentence structure - one that is like the English language. New engineers for Python can undoubtedly understand where they stand in the development process. The simplicity of composing allows quick application building. 

The motivation behind building Python, as said by its maker Guido Van Rossum, was to empower even beginner engineers to comprehend the programming language. The simple coding likewise permits developers to roll out speedy improvements without getting confused by pointless subtleties. 

Utilized by the best 

Alright - Python isn't simply one more programming language. It should have something, which is the reason the business giants use it. Furthermore, that too for different purposes. Developers at Google use Python to assemble framework organization systems, parallel information pusher, code audit, testing and QA, and substantially more. Netflix utilizes Python web development services for its recommendation algorithm and media player. 

Massive community support 

Python has a steadily developing community that offers enormous help. From amateurs to specialists, there's everybody. There are a lot of instructional exercises, documentation, and guides accessible for Python web development solutions. 

Today, numerous universities start with Python, adding to the quantity of individuals in the community. Frequently, Python designers team up on various tasks and help each other with algorithmic, utilitarian, and application critical thinking. 

Progressive applications 

Python is the greatest supporter of data science, Machine Learning, and Artificial Intelligence at any enterprise software development company. Its utilization cases in cutting edge applications are the most compelling motivation for its prosperity. Python is the second most well known tool after R for data analytics.

The simplicity of getting sorted out, overseeing, and visualizing information through unique libraries makes it ideal for data based applications. TensorFlow for neural networks and OpenCV for computer vision are two of Python's most well known use cases for Machine learning applications.

Summary

Thinking about the advances in programming and innovation, Python is a YES for an assorted scope of utilizations. Game development, web application development services, GUI advancement, ML and AI improvement, Enterprise and customer applications - every one of them uses Python to its full potential. 

The disadvantages of Python web improvement arrangements are regularly disregarded by developers and organizations because of the advantages it gives. They focus on quality over speed and performance over blunders. That is the reason it's a good idea to utilize Python for building the applications of the future.

#python development services #python development company #python app development #python development #python in web development #python software development

Ahebwe  Oscar

Ahebwe Oscar

1624067081

REST Implementation Of Django Authentication System for Python

djoser

REST implementation of Django authentication system. djoser library provides a set of Django Rest Framework views to handle basic actions such as registration, login, logout, password reset and account activation. It works with custom user model.

Instead of reusing Django code (e.g. PasswordResetForm), we reimplemented few things to fit better into Single Page App architecture.

Developed by SUNSCRAPERS with passion & patience.

Requirements

To be able to run djoser you have to meet following requirements:

  • Python (3.6, 3.7, 3.8, 3.9)
  • Django (2.2, 3.1)
  • Django REST Framework 3.11.1

If you need to support other versions, please use djoser<2.

Installation

Simply install using pip:

$ pip install djoser

And continue with the steps described at configuration guide.

#django #authentication #rest implementation of django authentication system for python #rest #django authentication system for python #rest implementation

Paula  Hall

Paula Hall

1620437073

Statements And Comments In Python

When you write a program in python that particular code is written line by line. Which means there are kind of sentences in your code. These sentences can be identified under two main groups according to the reason why you are adding them into your code.

To make it easy for you I will name them as Python statements and Python comments.

Python Statements

Instructions that you write in your code and that a **Python interpreter **can execute are called statements.

Wait what! Python interpreter? What’s that?

Let me make it clear to you.

Python interpreter is nothing but a converter which converts the Python language to machine language. Your computer’s hardware obviously can’t understand Python. Therefore, there has to be something that makes the computer understand what you want to be done using your Python code. That is basically done by the Python interpreter. Piece of cake!

Still no idea what really Python statements are?

Don’t worry! Help is on the way!

#python-programming #comments-in-python #statements-in-python #python-comments #python-statements