我已经安装了Django-Photologue,我可以在我的Django管理站点上传文件和创建画廊。我一直在搜索下面的文档,以获取有关如何创建照片上传表单的示例,以便我的用户可以在我的网站上创建一个库,但找不到一个简单的示例来启动我。我还设置了他们的示例应用程序,但是对于如何通过从视图/模板进行POST来上传和创建库来说,它并没有多大帮助。
文档: https://django-photologue.readthedocs.org/en/2.7/ https://code.google.com/p/django-photologue/
有人可以提供一个简单的示例,说明如何创建上传表单以提交照片和创建用于Django-Photologue的图库(不仅仅使用管理网站)?
谢谢 -
答案 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 ='/')
否则您将收到错误配置错误。