Получение поля id в views.py в запросе POST - PullRequest
0 голосов
/ 12 января 2020

HTML файл:

    <form enctype="multipart/form-data" method="POST" action="#">
    {% csrf_token %}

    {% for field in form %}

    <label for="{{ field.id_for_label }}" class="label" style="padding: 5px">
           {{ field.label }}
    </label>

          {{ field }}

    <input type="hidden" name="photo_id" value="{{ field.auto_id }}">

    {% endfor %}

    <input type="submit" value="Upload" class="button is-dark">

    </form>

файл models.py:

from django.db import models

# Create your models here.

class Gallery(models.Model):
    id = models.AutoField(primary_key=True)
    name = models.CharField(max_length=10)
    photo = models.ImageField(upload_to='images/', blank=False)
    username = models.CharField(max_length=10)

файл forms.py

from xml.dom.minidom import Text
from django import forms
from . models import *
from django.core import validators

class ImageForm(forms.ModelForm):
    class Meta:
        model = Gallery
        fields = ('id', 'name', 'photo', 'username')

        labels = {
            'name': 'Name',
            'photo': 'Photo',
            'username': 'Username'
        }

файл views.py

def upload(request):
    if request.method == 'POST':

        form = ImageForm(request.POST, request.FILES)


        if form.is_valid():
            form.save()

            #I have tried both the methods but neither of them are giving me the output

            keyword = request.POST.get("photo_id") 
            keyword = form.cleaned_data.get("photo_id")

            print(keyword)
            return redirect('dashboard')
    else:
        form = ImageForm()
    return render(request, 'upload.html', {'form': form})

Код HTML используется для загрузки изображения и сохранения в базе данных. Загрузка изображения работает нормально. Данные отправляются в запросе POST. Поэтому, когда я загружаю определенное изображение, идентификатор изображения должен храниться в переменной «ключевое слово», которую я объявил в views.py .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...