django テンプレートの変数を比較したい。問題は次のとおりです。ページに一連の写真を読み込んでいます。テンプレートが読み込まれると、すべての写真が含まれます。しかし、ユーザーが編集ボタンをクリックすると、そのユーザーが保存した写真のプロパティのみを編集可能モードにする必要があります。
私のテンプレートには次のものがあります
{% for img in images.object_list %}
<!-- EDIT VIEW -->
{% if view == "edit" %}
{% if user_id_log == img.image.name %}
<<Load Photos if user id matches with logged in user>>
{% else %}
<<Skip that photo>>
上記の最後の行が機能していません。
user_id_log -- ログインしているユーザーのユーザー ID。render_to_response メソッドでビューから渡す
img.image.name -- その写真を作成したユーザー ID が含まれます。
images.object_list は、画像オブジェクトのリストです。
どうすればこれを達成できるか教えてください
追加した
view.py で型キャストした後、user_id_log を int として渡しています。また、データベースでは img.name も int です。
Views.py
def album(request, pk, view="thumbnails"):
num_images = 30
if view == "full": num_images = 10
album = Album.objects.get(pk=pk)
images = album.image_set.all()
user_id = int(request.user.id)
# add list of tags as string and list of album names to each image object
for img in images.object_list:
tags = [x[1] for x in img.tags.values_list()]
img.tag_lst = join(tags, ', ')
img.album_lst = [x[1] for x in img.albums.values_list()]
d = dict(user_id_log=user_id,album=album, images=images, user=request.user, view=view,
albums=Album.objects.all(),
backurl=request.META["HTTP_REFERER"],media_url=MEDIA_URL)
d.update(csrf(request))
return render_to_response("photo/album.html", d)