我有一个应用程序,用户登录,管理一些选项并创建模型的实例,以根据需要生成视图。这只在私人会话中完成。
我想在我的应用中添加一个发布功能,用户可以在其中公开访问他们管理的视图。
我的第一个想法是使用每个已发布视图的唯一网址输出用户视图的静态html文件。这些静态文件将存储在应用服务器上。我不知道这个想法是否可行,如果是,我知道在每个静态文件上管理一堆更新,删除可能很困难。
对于这样的发布,使用静态文件或每次调用时是否更好地呈现视图?对于任何可能的选项,我可以阅读哪些资源可以帮助我达到这个目的?
答案 0 :(得分: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)