Рубрики
Без рубрики

Сохраните свои пароли | Проект Джанго

Добро пожаловать на страницу в блоге, это новый проект, связанный с Django Framework, и здесь я собираюсь создать … Tagged с Django, Python, Security, JavaScript.

Добро пожаловать на страницу в блоге, Это новый проект, связанный с Django Framework, и здесь я собираюсь создать веб -сайт, где Пользователи могут создавать свою учетную запись и могут сохранить весь пароль с помощью безопасности Django Анкет

Пользователь может сохранить ПК, социальных сетей, смартфонов и т. Д. Пароли на этом сайте.

Пойдем

Прежде всего создать проект Django с использованием этой команды,

django-admin startproject save_password

Теперь создайте приложение в вашем проекте,

python manage.py startapp main

Откройте свой файл sturts.py и добавьте свое приложение в этот файл,

INSTALLED_APPS = [
    #some apps are already installed
    'main'

]

Создайте новый файл urls.py в вашем приложении и добавьте его в urls.py Project, как это

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('main.urls'))
]

Создайте суперпользователя,

python manage.py createsuperuser

#add name- admin
#add email- admin@gmail.com
#add password- admin

Теперь делай это,

python manange.py makemigrations

python manage.py migrate

Создать модели

from django.db import models

# Create your models here.
class User(models.Model):
    name = models.CharField(max_length=100)
    pwd = models.CharField(max_length=500)

    def __str__(self):
        return self.name



class SavePassword(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    title = models.CharField(max_length=50)
    pwd = models.CharField(max_length=1000)
    hide_pwd = models.CharField(max_length=1000)

    def __str__(self):
        return self.title

Добавить модели в файл admin.py, как это

from django.contrib import admin
from .models import User, SavePassword

# Register your models here.
class UserAdmin(admin.ModelAdmin):
    list_display = ['name', 'pwd']

class SavePasswordAdmin(admin.ModelAdmin):
    list_display = ['user','title', 'pwd', 'hide_pwd']


admin.site.register(User, UserAdmin)
admin.site.register(SavePassword, SavePasswordAdmin)

Код в файле views.py

from django.shortcuts import render, redirect
from django.http import HttpResponse
from django.views import View
from .models import User, SavePassword
from django.contrib.auth.hashers import check_password, make_password

# Create your views here.
class Index(View):
    def get(self, request):
        if 'user' in request.session:
            get_save_pwd = SavePassword.objects.filter(user__name=request.session['user']).order_by('-id')

            account_pwd = User.objects.get(name=request.session['user'])

            params = {'passwords': get_save_pwd, 'user_account': account_pwd}
            return render(request, 'show_pwd.html', params)
        else:
            return render(request, 'index.html')


    def post(self, request):
        uname = request.POST['user_name']
        pwd = request.POST['password']

        if uname and pwd:
            create_user = User.objects.create(name=uname, pwd=pwd)
            create_user.save()
            return render(request, 'index.html')
        else:
            error = "Please Fill the fields."
            return render(request, 'show_pwd.html', {'error': error})




class Login(View):
    def get(self, request):
        return render(request, 'login.html')

    def post(self, request):
        uname = request.POST['uname']
        pwd = request.POST['pwd']

        try:
            user_obj = User.objects.get(name=uname, pwd=pwd)
            request.session['user'] = user_obj.name
        except:
            return redirect('login')

        return redirect('index')


class Logout(View):
    def get(self, request):
        del request.session['user']
        return redirect('index')


class SavePwd(View):
    def get(self, request):
        return render(request, 'save_pwd.html')

    def post(self, request):
        title = request.POST['title']
        pwd = request.POST['pwd']

        makePwd = make_password(pwd)

        user_obj = User.objects.get(name=request.session['user'])
        savePwd = SavePassword.objects.create(user=user_obj, title=title, pwd=pwd, hide_pwd=makePwd)
        savePwd.save()

        return redirect('save_pwd')


class Edit(View):
    def get(self, request, id):
        pwd_id_obj = SavePassword.objects.get(id=id)
        params = {'obj': pwd_id_obj}
        return render(request, 'edit.html', params)

    def post(self,request, id):
        pwd_obj = SavePassword.objects.get(id=id)

        new_title = request.POST['title']
        new_pwd = request.POST['pwd']
        new_pwd_hash = make_password(new_pwd)

        pwd_obj.title = new_title
        pwd_obj.pwd = new_pwd
        pwd_obj.hide_pwd = new_pwd_hash

        pwd_obj.save()

        return redirect('index')

Сделайте URL -адреса в файле url.py в приложении,

from django.urls import path
from . import views

urlpatterns = [
    path('', views.Index.as_view(), name='index'),
    path('login', views.Login.as_view(), name='login'),
    path('logout', views.Logout.as_view(), name='logout'),
    path('save_password', views.SavePwd.as_view(), name='save_pwd'),
    path('/edit/', views.Edit.as_view(), name='edit'),
]

Шаблоны

base.html





  
  
  

  
  



  {% load static %}
  Safe Password



  
{% if error %} {% endif %} {% block body %} {% endblock %}

index.html

{% extends 'base.html' %}

{% block body %}

Save your Password here and get Full Security.

{% endblock %}

Login.html

{% extends 'base.html' %}

{% block body %}
    

Login

{% csrf_token %}
{% endblock %}

save_pwd.html

{% extends 'base.html' %}

{% block body %}
    

Save Password


{% csrf_token %}

{% endblock %}

show_pwd.html

{% extends 'base.html' %}

{% block  body %}

You Login as: {{request.session.user}}

Account Password

***********

Show
{% for password in passwords %}
{{password.title}}

Decoded: {{password.pwd}} Edit

Encoded: {{password.hide_pwd}}

{% endfor %}
{% endblock %}

Редактировать.html

{% extends 'base.html' %}

{% block body %}
    

Edit Password


{% csrf_token %}

{% endblock %}

Прочитайте другие мои блоги:-

Создайте приложение для словаря с помощью Django и Beautifulsoup

Мадхубан Хатри ・ 16 мая ・ 2 мин читал

Веб -сайт обмена онлайн -видео – Django Project

Мадхубан Хатри ・ 6 января 22 мин читать

Оригинал: “https://dev.to/madhubankhatri/save-your-passwords-a-django-project-3h5p”