您好,我对 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/