Django Photologue Загрузить пример фотографии
Я установил Django-Photologue и могу загружать файлы и создавать галереи на моем админ-сайте Django. Я искал в приведенной ниже документации примеры того, как создать форму для загрузки фотографий, чтобы мои пользователи могли создать галерею на моем сайте, но не смогли найти простой пример для начала. Я также настроил их пример приложения, но это не очень помогло с точки зрения того, как загружать и создавать галереи, отправляя сообщения из представлений / шаблонов.
Документы: https://django-photologue.readthedocs.org/en/2.7/ https://code.google.com/p/django-photologue/
Может ли кто-нибудь предоставить простой пример того, как я могу создать форму загрузки для отправки фотографий и создания галереи для использования с Django-Photologue (не используя только сайт администратора)?
Спасибо -
2 ответа
Это довольно просто, Photologue имеет всю соответствующую логику в своих моделях.
Например, чтобы настроить загрузку фотографий, вы можете использовать CBV:
urls.py
from django.views.generic import CreateView
from photologue.models import Photo
urlpatterns = patterns('',
url(r'^photologue/photo/add/$', CreateView.as_view(model=Photo),
name='add-photo'),
(r'^photologue/', include('photologue.urls')),
...
В вашем шаблоне не забудьте установить атрибут enctype для обработки файлов.
шаблоны /photologue/photo_form.html
<form action="" method="post" accept-charset="utf-8" enctype="multipart/form-data">{% csrf_token %}
{{ form.as_p }}
<input type="submit" name="submit" value="Submit">
</form>
Это в основном все, что вам нужно... как вы можете видеть, мы не используем никакой пользовательской логики, все заключено в фотомодель, а CBV сделает все остальное.
То же самое относится и к галерее, просто замените модель на галерею, и все готово. Очевидно, что если вам нужна некоторая настройка, вы также можете сделать это, но это выходит за рамки, так как вы не указали, какой вариант использования вы должны обрабатывать.
В ответе выше отсутствует одна вещь: вы должны установить success_url в CreateView.as_view. Например: CreateView.as_view(model=Photo, success_url='/')
В противном случае вы получите сообщение о неправильной настройке.