3

我正在创建一个门户网站,我想为用户提供更改配置文件/仪表板的功能,例如更改背景。等等。有人可以指导我采用一种有效的方法来实现这一目标吗?谢谢

4

1 回答 1

2

这是与 css 和 javascript 相关的技巧,而不是 django 模板。

这里唯一与 django 相关的是这些首选项的实际存储。

例如实际背景图像的文件路径。

之后,您将执行类似于此答案中描述的操作:

如何动态更改html背景

编辑

我不明白为什么每个用户都需要不同的目录。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 回答