#python #django #sqlite
Вопрос:
Я получаю эту ошибку, когда пытаюсь передать значение папки в другой html.
Я сохранил форму в базе данных в браузере БД Sqlite. Я пытаюсь передать входной тип = файл в другой HTML. Так что, когда я просмотрю существующий файл типа=, файл будет автоматически показан.
Ниже приведено приложение от submitclaim.html
<form action="/newclaim/" method="post" enctype="multipart/form-data">
<label for="receipt">Receipt: </label> <br>
<input id="receipt" type="file" name="receipt_field">
</form>
Это мое verfiyexistingclaims.html
<form method="POST" action="/verifyexistingclaims/{{claims.id}}" enctype="multipart/form-data">
<label for="receipt">Receipt: </label>
<input id="receipt" type="file" name="receipt" value={{claims.receipt}}>
</form>
Это мое views.py
def financeverifyclaims(request, id):
context = initialize_context(request)
user = context["user"]
# get original object
claims = SaveClaimForm.objects.get(id=id)
if request.method == "POST":
# update original object
claims.receipt = request.FILES["receipt"]
# save it with original `ID`
claims.save()
return render(
request, "Login/verifyexistingclaims.html", {"claims": claims, "user": user}
)
Models.py
from django.db import models
from django.core.validators import FileExtensionValidator
# Create your models here.
class SaveClaimForm(models.Model):
receipt = models.FileField(upload_to='receipts/%Y/%m/%D', validators=[FileExtensionValidator(allowed_extensions=['jpg','png'])])
Комментарии:
1. используется
request.FILES.get('receipt')
для проверки наличия или отсутствия квитанции .2. У меня ничего не получается @Vishal
3. Кто-нибудь знает, как это решить?
4. что вы хотите делать, когда квитанции нет?
5. Я хочу сделать загрузку квитанции обязательной
Ответ №1:
Вы должны указать значение по умолчанию, если оно не существует, т. е.:
claims.receipt = request.FILES.get('receipt', False)
Комментарии:
1. После того, как я отправлю фотографии, они все еще будут отображаться?