Skip to main content
 首页 » 编程设计

python之在 Django 模型中访问用户

2025年05月04日29wuhuacong

您好,我对 Django Python 应用程序有疑问。我在 django 的模型中创建函数 - 这在模板中给出了 true 或 false。

我可以访问模型中的已登录用户功能吗?

请您参考如下方法:

您的 View 方法(在 views.py 中)应该有一个“请求”参数。您可以像这样传递登录的用户:

class MyMethod(models.Model): 
    def method(self, user): 
        # do something with user 
        return result    # true or false 
 
def my_method(request): 
    obj = MyModel.all().filter(...).get() 
    result = obj.method(request.user) 
    # pass "result" to template 

如果你有一个对象列表并且你想从模板中传入用户,你需要先将用户放入一个变量中:

def my_method(request): 
    user = request.user 
    objects = MyModel.all() 
    # pass "user" and "objects" to template 
 
(inside your template): 
{% for obj in objects %}{{ obj.method.user||yesno:"yeah,no,maybe" }}{% endfor %} 

这使用了 yesno标记你的真/假结果。