【问题标题】:Django Photologue Upload Photo ExampleDjango Photologue 上传照片示例
【发布时间】:2013-12-16 17:59:42
【问题描述】:

我已经安装了 Django-Photologue,我可以在我的 Django 管理站点中上传文件和创建画廊。我一直在下面的文档中搜索有关如何创建照片上传表单的示例,以便我的用户可以在我的网站上创建图库,但找不到一个简单的示例来帮助我入门。我还设置了他们的示例应用程序,但它在如何通过从视图/模板中发布来上传和创建画廊方面并不是很有帮助。

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

谁能提供一个简单的例子来说明我如何创建一个上传表单来提交照片和创建一个用于 Django-Photologue 的画廊(不只是使用管理站点)?

谢谢-

【问题讨论】:

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


    【解决方案1】:

    这很简单,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 即可。 显然,如果您需要一些定制,您也可以这样做,但这超出了范围,因为您没有指定需要处理的用例。

    【讨论】:

      【解决方案2】:

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

      否则您将收到配置不当的错误。

      【讨论】:

        猜你喜欢
        • 2018-01-11
        • 1970-01-01
        • 1970-01-01
        • 2017-11-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-07-30
        • 1970-01-01
        相关资源
        最近更新 更多