Django Photologue上传照片示例

时间:2013-11-30 19:03:24

标签: django django-models django-forms django-templates photologue

我已经安装了Django-Photologue,我可以在我的Django管理站点上传文件和创建画廊。我一直在搜索下面的文档,以获取有关如何创建照片上传表单的示例,以便我的用户可以在我的网站上创建一个库,但找不到一个简单的示例来启动我。我还设置了他们的示例应用程序,但是对于如何通过从视图/模板进行POST来上传和创建库来说,它并没有多大帮助。

文档: https://django-photologue.readthedocs.org/en/2.7/ https://code.google.com/p/django-photologue/

有人可以提供一个简单的示例,说明如何创建上传表单以提交照片和创建用于Django-Photologue的图库(不仅仅使用管理网站)?

谢谢 -

2 个答案:

答案 0 :(得分: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>

这基本上就是你所需要的...正如你所看到的,我们不使用任何自定义逻辑,所有内容都封装在 Photo 模型中,CBV完成其余的工作。

这同样适用于Gallery,只需用 Gallery 替换模型,您就可以了。 显然,如果你需要一些自定义,你也可以这样做,但这不在范围之内,因为你没有指定你需要处理的用例。

答案 1 :(得分:0)

上面的答案中缺少的一件事是你必须在CreateView.as_view中设置success_url。例如:CreateView.as_view(model = Photo,success_url ='/')

否则您将收到错误配置错误。