gpt4 book ai didi

python - 在 Django 中,如何查询登录用户的 MYSQL 数据库? (即特定用户的结果,无需对用户 ID 进行硬编码)

转载 作者:行者123 更新时间:2023-11-29 15:25:23 25 4
gpt4 key购买 nike

到目前为止,我已经了解了这一点,抱歉,我是编程新手 - 正在尝试学习 Django 和 Python。

查看:

def dashboard(request):
return render(request, 'app/dashboard.html', {'my_custom_sql': my_custom_sql})

下面的函数不会在模板中输出任何内容

def my_custom_sql(self):
return self.request.CustomUser.customuser_set.all()

使用硬编码原始 SQL 替代上述方法:

def my_custom_sql():
current_user = 1
with connection.cursor() as cursor:
cursor.execute("SELECT first_name FROM customuser WHERE id =
%s",[current_user])
row = cursor.fetchone()

上面的方法有效,但我找不到一种将用户 ID 传递给查询而不将其硬编码到用户变量中的方法。

模板:

<h3> Displaying User's First Name </h3>

{% if user.is_authenticated %}

<p>The first name: {{my_custom_sql}}</p>

{% endfor %}

最佳答案

andtmc。欢迎来到SO。

您确实需要关闭 if 标记:

模板

{% if user.is_authenticated %}
<p>The first name: {{my_custom_sql.first_name}}</p>
{% endif %}

views.py

def dashboard(request):
return render(request, 'app/dashboard.html', {'my_custom_sql': my_custom_sql(request)})

def my_custom_sql(request):
return CustomUser.objects.get(pk=request.user.pk)

根据您的型号,您可以:

{% if user.is_authenticated %}
<p>The first name: {{user.first_name}}</p>
{% endif %}

关于python - 在 Django 中,如何查询登录用户的 MYSQL 数据库? (即特定用户的结果,无需对用户 ID 进行硬编码),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59120687/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com