我的Django项目里面有学分制。 我想改变模板,如果用户没有足够的信用
models.py
class CreditSystem(models.Model):
forUser = models.ForeignKey(User, on_delte=models.CASCADE, null=True, blank=False)
credits = mdoels.IntegerField(null=True, blank=False)
views.py
def userPanel(request):
credits = CreditSystem.objects.get(forUser=request.user)
return render(request, 'user/panel.html', {'credit': credit.credit}
user/panel.html
{% if credit < 5 %}
<p>You have insufficient Credits</p>
{% else %}
<p> Welcome! </p>
{% endif %}
例如,现在我将用户信用值改为10(在管理面板)。
然后显示“欢迎在html中显示strong>“消息。
现在,如果我将当前用户信用更改为5,模板如何在不重新加载的情况下将消息更改为“您信用不足”?我可以用javascript来做(每秒执行一个请求),但是使用这种方法太麻烦了。
我需要使用django通道使其异步吗
编辑:在我写这个答案时,我只知道一件事,那就是客户端到服务器的请求
Django Channels
也许是回答OP问题的好方法是的,不管怎样,如果你想调整显示给连接的用户的内容,你必须调用给你点数的视图。有两种方法,您确定了这两种方法:
get_credit_view
返回一个json数组)。然后,根据js逻辑调整页面以适应用户(但是模板在服务器端只呈现一次)李>相关问题 更多 >
编程相关推荐