Django TemplateView与DetailView

时间:2017-10-02 14:56:53

标签: django django-templates

我正在开发一个具有多个用户个人资料模型的应用,OneToOne字段为auth.User。对于特定类型的配置文件的仪表板,比如VendorSales,更好的做法是编写一个在网址中包含VendorSales ID的DetailView,或者仅使用没有url pk和引用请求的TemplateView。模板中的user.vendorsales和上下文数据中的self.request.user.vendorsales?

2 个答案:

答案 0 :(得分:0)

使用DetailView时,您不需要URL中的主键或slug - 您可以覆盖get_object并通过self.request.user访问该对象。

def get_object(self):
    return self.request.user.vendorsales

无论您使用DetailView还是TemplateView,都可能会发现LoginRequiredMixin对限制对视图的访问非常有用。

答案 1 :(得分:0)

如果您希望自己的视图重新加载,则应在网址中添加某种ID。

如果您希望您的模型以RESTfull方式使用app / api,那么您应该考虑不只是放入一个网址,而且还要将此视图理解为新的资源 - >导致新视图与用户视图几乎没有连接(链接网址除外)。