При загрузке это выглядит как на картинке выше.Посередине находится форма загрузки файла, выполненная с помощью crispyforms.
Вот как я хочу, чтобы она выглядела при загрузке сайта.Вместо этого мне нужно нажать кнопку, прежде чем появится эта часть формы для загрузки.
<form method="POST" enctype="multipart/form-data">
{% csrf_token %}
<fieldset class="form-group">
<legend class="border-bottom mb-4" >tul.ai</legend>
{{ form|crispy }}
</fieldset>
<div class="form-group">
<button name = "upload_image" class="btn btn-outline-info" type="submit">View Image</button>
<button name = "upload_pdf" class="btn btn-outline-info" type="submit">View PDF</button>
</div>
</form>
Выше приведен HTML-код с crispyform.
из форм импорта django из .models import Photo, PDF
class PhotoForm(forms.ModelForm):
class Meta:
model = Photo
fields = ['image']
class PDFForm(forms.ModelForm):
# file = forms.FileField()
class Meta:
model = PDF
fields = ['file']
Выше приведен код для самих форм.
from django.db import models
from PIL import Image
class Photo(models.Model):
image = models.ImageField(upload_to='imgs')
def save(self):
super().save()
img = Image.open(self.image.path)
if self.image.height > 2200 or self.image.width > 1700:
output_size = (1700, 2200)
img.thumbnail(output_size)
img.save(self.image.path, quality = 100)
class Meta:
verbose_name = 'photo'
class PDF(models.Model):
file = models.FileField(upload_to='pdfs')
def save(self):
super().save()
class Meta:
verbose_name = 'pdf'
Это файл models.py.