質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Twitter

Twitterは、140文字以内の「ツイート」と呼ばれる短文を投稿できるサービスです。Twitter上のほぼ全ての機能に対応するAPIが存在し、その関連サービスが多く公開されています。

Q&A

0回答

535閲覧

【Django】Twitterカードにimageを設定したい

退会済みユーザー

退会済みユーザー

総合スコア0

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Twitter

Twitterは、140文字以内の「ツイート」と呼ばれる短文を投稿できるサービスです。Twitter上のほぼ全ての機能に対応するAPIが存在し、その関連サービスが多く公開されています。

0グッド

0クリップ

投稿2019/07/02 01:53

編集2019/07/02 15:03

Djangoで作ったページのTwitterリンクからツイートする際、Twitterカードとして、事前に準備した画像を使いたいです。
画像はstaticに準備したものを一律に使いたいです。
ただ、何かしらの問題があり画像が反映されません。

(以下ファイル構成)
project/
-static/
--image/
---aaa.png <---144*144, 7.19KB

#コード

template

1#header内 2<meta property="twitter:image" content="{% static 'image/aaa.png' %}">

contentがうまく設定されていないようです。
#調べたこと
1.どうやら、画像とサイトドメインが異なると反映されないそう
参考

2.Railsの場合だと、絶対パスで記述すると反映されるらしい
参考2

djangoの場合だと、どう記述すればいいのでしょうか?

----追記(7/2 12:30)---
static関連の設定を追記します。
herokuを使っているので以下のようになります。

#settings.py STATIC_URL = '/static/' STATICFILES_DIRS = ( os.path.join(BASE_DIR, 'static'), ) STATIC_ROOT = os.path.join(BASE_DIR, 'static_root') STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'

ブラウザでコードを確認した結果...
/static/image/aaa.png
と相対パスにて正しく反映。
しかし、今回のケースは絶対パスでないといけないと思うので(おそらく)、ここを改善したいです

---追記2(7/3 0:01)---
LINE共有もできるようにしているのですが、そちらでは上記記述で画像が反映できていました。
つまりcollectstaticできていない等、初歩的なミスはないようです。
困りました!

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

t_obara

2019/07/02 03:14

最終的にcontentで設定されている画像のURLにアクセスできないのですよね?その場合、staticの公開設定の間違いの可能性が高いです。 そちらの設定を調査して確認いただく、ご示いただくのがよろしいかと。
退会済みユーザー

退会済みユーザー

2019/07/02 03:33

t_obaraさんありがとうございます。 statiicについて追記しました。 staticについては他のimageやcss、jsは問題なく配信できているので正しくできているように感じるのですが...どうでしょう?
CHERRY

2019/07/02 06:19

Webブラウザで開いて、ソースを確認した場合、「<meta property="twitter:image" content=〜」の URL は正しい画像の URL が表示されているということでしょうか?
退会済みユーザー

退会済みユーザー

2019/07/02 06:35

CHERRYさん、 ブラウザにて確認したところ、相対パスにて(/static/image/aaa.png)正しく画像のURLが表示されていました。 本来の画像表示ならば大丈夫なはずですが、Twitterカードとなるとここが原因なように思えます。 解決方法はあるのでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問