【Python/Django】Cloudinaryで画像をレスポンシブ表示させる【初心者】
DjangoでWEBサービス開発中、長期間に渡りハマったポイントがあったので、記載しておく。WEBサービスを開発している方々の一助になれば幸い。他記事に、Cloudinaryの導入についての記載はしてあり、その続き。
ハマったところ
前記事に記載の通り、
①画像をアップロードして、
②WEBページにサイズを指定して表示させる
まではできたのだが、レスポンシブが出来ていなかった。
最終的には、オフィシャルサポートの丁寧な対応により解決したので、日本語で記事に残しておく。
【結論】これでうまくいったコード
# xx.html
{% load cloudinary %}
<head>
<!--cloudinary -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/cloudinary-core/2.3.0/cloudinary-core-shrinkwrap.min.js"></script>
<style type="text/css">
.blog-bg img {
max-width: 100%;
height: auto;
width :auto;
}
</style>
</head>
<body>
<a class="blog-bg" href="">
{% cloudinary post.image width='auto' crop='lfill' responsive='true' height=280 fetch_format="auto" %}
</a>
<!--cloudinary -->
<script type="text/javascript">
var cl = cloudinary.Cloudinary.new({cloud_name: "yourname"});
cl.responsive();
</script>
</body>
多少過不足があるかもしれないが、これで実現したかったことは出来た。
もちろんheadの中にstyleを書く必要はない。
デザインに合わせて、heightやcropは調整していただきたい。
スタートアップ支援と、社内スタートアップをしながら、実務未経験から独学でプログラミング勉強中。主にpython。スクレイピング、機械学習から始めて、最近はDjangoを学習し、WEBサービス作成中。独学されている初心者の方向けに、技術の記事を中心に書いていきます。