我正在创建一个门户网站,我想为用户提供更改配置文件/仪表板的功能,例如更改背景。等等。有人可以指导我采用一种有效的方法来实现这一目标吗?谢谢
问问题
90 次
1 回答
2
这是与 css 和 javascript 相关的技巧,而不是 django 模板。
这里唯一与 django 相关的是这些首选项的实际存储。
例如实际背景图像的文件路径。
之后,您将执行类似于此答案中描述的操作:
编辑
我不明白为什么每个用户都需要不同的目录。Django 模板为您提供了足够的能力来做您想做的事。
例如,假设每个用户都可以上传自己的背景图片。此外,我假设您遵循这种流行的 django 模式来存储有关您的用户的其他信息。https://docs.djangoproject.com/en/dev/topics/auth/#storing-additional-information-about-users
所以我们有这个UserProfile
模型:
class UserProfile(models.Model):
CHOICES = (
('vertical', 'Vertical'),
('horizontal', 'Horizontal'),
)
user = models.OneToOneField(User)
background_image = models.ImageField(upload_to='images')
dashboard_layout = models.CharField(max_length=10, choices=CHOICES)
您可以将此额外信息传递给您的 javascript 上下文(使用或不使用 Ajax),然后更改每个用户的背景图像。
我们也可以像这样在模板级别进行特殊布局:
{% extends "base.html" %}
{% block main_body %}
{% if request.user.get_profile.dashboard_layout == 'vertical' %}
{% include "layouts/vertical.html" %}
{% else %}
{% include "layouts/horizontal.html" %}
{% endif %}
{% endblock main_body %}
于 2012-09-24T16:09:51.547 回答