0

我有一个应用程序,用户可以在其中登录、管理一些选项并创建模型的实例以根据他们的需要生成视图。这仅在私人会话中完成。

我想向我的应用程序添加一个发布功能,用户可以在其中公开访问他们管理的视图。

我的第一个想法是使用每个已发布视图的唯一 url 输出用户视图的静态 html 文件。这些静态文件将存储在应用服务器上。我不知道这个想法是否可行,如果可行,我知道管理每个静态文件上的大量更新、删除可能很困难。

对于这样的发布,是使用静态文件还是每次调用时渲染视图更好?对于任何可能的选择,我可以阅读哪些资源来帮助我实现这个目的?

4

1 回答 1

1

Django 可以为您处理视图和模板的缓存。似乎没有很好的理由为此渲染静态文件。

您可以使用自定义视图来检查模型是否公开可用:

def view_public_object(request, object_id):
    object = get_object_or_404(Object, id=object_id)
    if object.is_published():
        return render_to_response('template.html', {'object': object})
    return Http404

如果您列出了所有可以访问的对象,您可以更新对象的管理器以仅列出具有此查询集的公开可用实例:

Object.objects.filter(is_published=True)
于 2013-03-13T18:11:36.563 回答