python - 在 Django 模型中访问用户

标签 python django authentication

您好,我对 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标记你的真/假结果。

关于python - 在 Django 模型中访问用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16867384/

相关文章:

javascript - 获取 Jinja2 for 循环中每个项目的 API 调用

Django 1.7 ImageField 表单验证

python - Django form.is_valid() 始终为假

javascript - Bunny.net CDN token 身份验证不起作用(对于 .m3u8 文件)

javascript - 使用 Web 组件在登录页面中保存凭据

Python:最佳字典实现

python - simplejson.loads() 获取无效\转义 : 'x'

javascript - 变量未定义(从 HTML 发送到 JS 文件)

Django Mongodb 引擎 : Authentication, session 和用户模型

python - 检查响应是否包含 Robot Framework 中的值列表?