Django를 사용하는 알 수 없는 이미지 업데이터

11917 단어 htmldjangojinjapython

Unknown_Updater



알 수 없는 폴더에서 이미지를 업데이트하거나 Django를 사용하여 디렉토리에서 이미지를 삭제합니다.

이것은 내가 Django로 수행한 사이드 실험 중 하나입니다.

전제 조건



Django

python



Django에서 앱 만들기



python3 manage.py startapp updater



settings.py



디렉토리를 설정해야 하기 위해 백엔드에서 HTML 페이지를 통합해야 합니다.

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]


이미지를 가져올 정적 디렉토리 설정

STATIC_URL = '/updater/'

STATICFILES_DIRS = [os.path.join(BASE_DIR, "updater")]


model.py



사용자 간의 고유성을 식별하는 데 사용할 수 있는 세 개의 필드 이름, 두 번째 이름 및 uid가 있는 데이터베이스 생성

from django.db import models

class UserDetail(models.Model):
    first_name = models.CharField(max_length=50)
    last_name = models.CharField(max_length=50)
    hybrid_uid = models.CharField(max_length=50, default="")


보기.py




view.py에서 우리는 그 안에 있는 모든 비즈니스 로직을 수정합니다.

from django.shortcuts import render
import os
import shutil
# Create your views here.

from django.http import HttpResponseRedirect
from django.shortcuts import redirect
from .models import UserDetail
from unknown_updater import settings

#grab all the images in list and render in frontend
def index(request ):

    fileNames = os.listdir('updater/unknown/')
    hists = [ file for file in fileNames]
    print(hists)
    names = UserDetail.objects.all()


    print(names)

    #extract value from form from forntend
    if request.method == 'POST' :
        if request.POST['submit'] == 'Submit':
            a = request.POST['user_id']
            firstName, lastName = a.split(' ', )
            print(firstName) 
            print(lastName)
            uids  = UserDetail.objects.get(first_name=firstName ,last_name = lastName)
            print(uids.hybrid_uid)
            files = request.POST["img"]
            source_directory = settings.BASE_DIR+"/updater/unknown/"+str(files)
            destination_directory = settings.BASE_DIR+"/updater/known_user/"+str(uids.hybrid_uid)+"/"+str(files)
            shutil.move(source_directory , destination_directory)
            print(files)
            return HttpResponseRedirect('/polls')
        else:
            if request.POST['submit'] == 'delete':
                files = request.POST["img"]
                os.remove(settings.BASE_DIR+"/updater/unknown/"+str(files))
                print(files)
                return HttpResponseRedirect('/polls')



    return render(request , 'home.html', {'hists':hists , 'names' : names})






전체 소스 코드를 보려면 GitHub 링크를 클릭하십시오.
https://github.com/cyber-hoax/Unknown_Updater/blob/main/README.md

좋은 웹페이지 즐겨찾기