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='/')

В противном случае вы получите сообщение о неправильной настройке.

Другие вопросы по тегам