ユーザー情報ごとに、表示する画像を変えたい
ユーザー情報ごとに、表示する画像を変えたいです。
現在、住んでいる地域ごとに表示する画像を変えるシステムを作っています。
models.pyに
from django.db import models
class User(models.Model):
user_id = models.CharField(max_length=30)
age = models.CharField(max_length=30)
sex = models.IntegerField(max_length=1)
city = models.CharField(max_length=30)
class BackgroundImages(models.Model):
city = models.CharField(max_length=30)
image = models.ImageField(upload_to='images/', null=True, blank=True,)
と書きました。データベースのUserテーブルには、
user_id | age | sex | city
1 24 0 NY
2 50 1 CF
3 32 1 LD
のように入っていて、
BackgroundImagesテーブルには、
city | image
NY newyork1.png
CF california1.png
LD london1.png
NY newyork2.png
CF california2.png
LD london2.png
のように画像データが入っています。
views.pyには
@login_required
def select_img(request):
back_image = BackgroundImages.objects.all().filter(#ユーザーの住んでいる地域を入れる)
return render(request, 'top.html', {'back_image': back_image})
と書きました。ユーザーにはログインをしてもらっているのでユーザーデータは一意に決まると思っています。しかし、この#ユーザーの住んでいる地域を入れる
の所に、どのようにUserモデルのcityを取り出すコードを書けるかわかりません。この場合、どのようにコードを書けるかご存知でしたら教えてください。