我正在创建一个门户网站,我希望为用户提供更改配置文件/仪表板的功能,例如更改后台。等等 有人可以指导我一个有效的方法来实现这一目标吗? 感谢
答案 0 :(得分:2)
这与css和javascript有关,而不是与django模板有关。
这里唯一与django相关的是实际存储这些偏好。
e.g。实际背景图像的文件路径。
之后,您将执行类似于此答案中描述的内容:
how to change html background dynamically
修改强>
我不明白为什么每个用户都需要不同的目录。 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 %}