我認為我的問題很簡單,但我是新手,無法弄清楚。
我有一個用戶默認的 Django 模型和我的擴展用戶模型,在我的 views.py 中,我只想像單個字串一樣獲取我登錄用戶的地址,我一直在嘗試使用不同的方法 (UserProfile.objects.values/filter/得到等...)但我只是得到錯誤。
感謝您的時間!
模型.py
class UserProfile(models.Model):
user = models.OneToOneField(User, null=True, on_delete=models.CASCADE)
profile_pic = models.ImageField(null=True, blank=True, upload_to="profile_imgs")
address = models.CharField(null=True, blank=True, max_length=150)
curp = models.CharField(null=True, blank=True, max_length=18)
視圖.py
@login_required(login_url='log')
def test(request):
address = "answer"
context = {
'address': address,
}
return render(request, "test.html", context)
uj5u.com熱心網友回復:
您可以從請求用戶的實體中獲取地址,但您需要將 a 添加related_name到UserProfile模型中的用戶欄位。
見下文:
user = models.OneToOneField(User, null=True, on_delete=models.CASCADE, related_name='user_profile')
之后在視圖函式中獲取請求用戶的地址,如下所示:
@login_required(login_url='log')
def test(request):
context = {
'address': request.user.user_profile.address,
}
return render(request, "test.html", context)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/327172.html
標籤:姜戈
上一篇:如何在Stripe內回圈
