Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Django中通过url定义模板?_Django_Django 1.4 - Fatal编程技术网

如何在Django中通过url定义模板?

如何在Django中通过url定义模板?,django,django-1.4,Django,Django 1.4,我想创建一个项目,每个用户都可以有自己的“主页”。因此,我希望能够为每个用户设置一个模板,并将其显示在其主页url上。我只是将模板名称保存在用户配置文件中并将其传递给模板加载器,还是有更好/更安全/更可插入的方法来执行此操作?将模板名称保存在用户配置文件中就可以了。正如您所说,您可以将其传递给模板渲染方法 但是要注意一件事:用户不能手动输入模板名称。我认为,出于安全考虑,这应该是一个选择领域。请参见的末尾,您可以使模板选项列表动态。听起来您想让用户选择他/她最喜欢的模板,并设置一组首选项,如背景

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

将模板名称保存在用户配置文件中就可以了。正如您所说,您可以将其传递给模板渲染方法


但是要注意一件事:用户不能手动输入模板名称。我认为,出于安全考虑,这应该是一个选择领域。请参见的末尾,您可以使模板选项列表动态。

听起来您想让用户选择他/她最喜欢的模板,并设置一组首选项,如背景图像、显示样式等?如果是这样,您的解决方案是好的。实际上,您允许用户在提供的(和可扩展的)模板集中进行选择,而不是允许他们完全控制要使用的模板。

此外,对于仅用于每个用户的首选项设置。您可能希望将它们保存在序列化字段(如jsonfield或picklefield)中,而不是按列存储它们。我正在编写一个应用程序来简化这些字段的编辑。

模板之间的区别是什么?它是可变的吗?是谁干的?区别主要在于光学。不同的css,可能不同的图像大小和不同的导航等等。我希望用户能够通过下拉菜单在模板之间进行选择。但是对我来说,能够很容易地扩展模板的数量是很重要的。你能把标题改为“如何根据用户使用不同的模板”吗?这更清楚一点。不,因为最终模板是根据URL选择的。因为用户A选择了他的模板,而用户B、C和D将使用此模板创建他的配置文件。