naetoru2144
@naetoru2144

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

変数から呼び出した画像用のURLの冒頭に入ってしまういらない文を取り除きたい

変数から呼び出した画像用のURLの冒頭に入ってしまういらない文を取り除きたい

下記の要らない文を取り除く方法が知りたいです。。

例)
DjangoでWebアプリを作っています。
下記のようにview.py,とhtmlを書いたのですがimgタグのurlを扱う部分が上手く機能しません。
解決方法を教えてくださいm(._.)m

問題の実行結果

・↓のスクショのように、imgタグが機能していない
スクリーンショット 2021-09-15 0.30.05.png
・↓埋め込まれている画像リンク(意図通りではない)

http://127.0.0.1:8000/static/https%3A/1.bp.blogspot.com/-7h5tVHzajSw/Xbo68z4tdGI/AAAAAAABVw0/Ll52XDDw8AUouP6iUqogPCYAKbFK2MCQACNcBGAsYHQ/s1600/animal_rollerskate_usagi.png

元と比べて冒頭にローカルのサーバーの"http://127.0.0.1:8000/static/" が入ってしまっている

聞きたいこと

"http://127.0.0.1:8000/static/" を入れないようにする方法を教えて欲しいですm(__)m
また、なぜ"http://127.0.0.1:8000/static/" が入ってしまっているかが分かる検索ワードなどを教えてくださると有難い限りです。

以下に関連するであろうコードを添付します。

view.py

def create(request):
    Main(
        userid = 1,
        img = "https://1.bp.blogspot.com/-7h5tVHzajSw/Xbo68z4tdGI/AAAAAAABVw0/Ll52XDDw8AUouP6iUqogPCYAKbFK2MCQACNcBGAsYHQ/s1600/animal_rollerskate_usagi.png",
        name = "うさぎ",
         ).save()

↑create関数を実行してレコードを登録した後、

def ranking(request):
    data = Main.objects.all()
    params = {
        "title":"画像たち",
        "data":data,
    }
    return render(request,"Project/images.html",params)

このように全てのレコードをdataという変数に入れてhtmlを返している

images.html

<table>
{% for item in data %}
<tr>
  <td>{{forloop.counter}}</td>
  <td><img src="{% static item.img %}"></td>
 <td>{{item.name}}</td>
</tr>
{% endfor %}
</table>

↑html内でforでdata配列を回して表示する中で、画像のリンクを指定している部分

0

1Answer

{% static %}は静的ファイルのリンクを作るタグです。

素直に{{ item.img }}だとダメでしたか?

0Like

Comments

  1. @naetoru2144

    Questioner

    できました、ありがとうございます…
    なんか見たサイトがみんなstaticを使ってたものでそうしてしまいました…助かります…

Your answer might help someone💌