0

我想创建一个项目,每个用户都可以拥有自己的“主页”。所以我希望能够为每个用户设置一个模板并将其显示在他的主页 url 上。我只是将模板名称保存在用户配置文件中并将其传递给模板加载器,还是有更好/更安全/更可插入的方法来做到这一点?

4

2 回答 2

1

将模板名称保存在用户配置文件中很好。就像你说的,你可以把它传递给模板渲染方法。

但要注意一件事:用户不能手动输入模板名称。我认为,出于安全原因,它应该是一个选择领域。请参阅https://docs.djangoproject.com/en/1.4/ref/models/fields/#choices的末尾,您可以使模板选择列表动态化。

于 2012-04-23T13:14:05.237 回答
1

听起来您想让用户选择他/她最喜欢的模板并设置一系列偏好,例如背景图像、显示样式等?如果是这样,您的解决方案很好。实际上,您允许用户在提供的(和可扩展的)模板集之间进行选择,而不是让他们完全控制要使用的模板。
此外,对于偏好设置,仅用于每个用户。您可能希望将它们保存在序列化字段中,例如 jsonfield 或 picklefield,而不是按列存储它们。我正在编写一个应用程序来简化这些字段的编辑。

于 2012-04-23T14:42:09.037 回答