Django не принимает отправку изображения, метод и enctype, включенные в тег формы, но консоль браузера утверждает, что он отсутствует - PullRequest
0 голосов
/ 17 июня 2020

Я слежу за учебником по созданию проекта Django. Частью проекта является возможность загрузить изображение в каталог test cdn. Вот как сейчас выглядит моя форма:

<form method='POST' action="." enctype='multipart/form-data'> {% csrf_token %}
{{ form.as_p }}
<button type="submit">Send</button>
</form>     

Метод и enctype очень четко определены.

Я также установил свои settings.py

STATIC_URL = '/static/'
LOCAL_STATIC_CDN_PATH = os.path.join(os.path.dirname(BASE_DIR), 'static_cdn_test')
STATIC_ROOT = os.path.join(LOCAL_STATIC_CDN_PATH, 'static')
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'staticfiles')
]
MEDIA_ROOT = os.path.join(LOCAL_STATIC_CDN_PATH, 'media')
MEDIA_URL = '/media/'

настроить файлы для получения в представлении:

form = BlogPostModelForm(request.POST or None, request.FILES or None)

настроить модель, использовать ImageField:

image = models.ImageField(upload_to='image/', blank=True, null=True)

и шаблоны URL:

if settings.DEBUG:
# test mode
from django.conf.urls.static import static
# display images/files saved in the test cdn
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

Но даже при всем этом консоль сообщает мне:

Форма содержит ввод файла, но в форме отсутствуют методы = POST и enctype = multipart / form-data. Файл не будет отправлен.

Это руководство на случай, если оно поможет https://www.youtube.com/watch?v=-oQvMHpKkms&list=PLM39hJgCef42hVok8ZRRE4LpLD-5bOxBh&index=20&t=13385s рассматриваемая часть начинается в 3:48:00.

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