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

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

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

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

ウェブアプリケーション

ウェブアプリケーションとは、ウェブ上でアクセスされるアプリケーションのことを呼びます。この場合におけるウェブとは、インターネットやイントラネット上を意味します。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

解決済

wagtail (Django)でブロック化した画像が表示されない。(文字のみ表示)

Kazuhiro-ch
Kazuhiro-ch

総合スコア65

Django

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

ウェブアプリケーション

ウェブアプリケーションとは、ウェブ上でアクセスされるアプリケーションのことを呼びます。この場合におけるウェブとは、インターネットやイントラネット上を意味します。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

1回答

0評価

0クリップ

146閲覧

投稿2021/07/28 01:27

###質問内容

wagtailを用いてウェブアプリケーションを開発しています。コンテンツ表示のために名前やリンクなどをブロック化し、コンテンツモデルにインポート、HTML出力を考えています。名前などほかの情報は表示されるのですが、画像のみ表示されません。エラーもなく、画像の名前も文字として表示されているので特に問題はないと考えています。試行錯誤しているのですがわからないので、皆様のお力を貸していただければと思います。

###コード

以下が該当するであろうコードです。上から順にフロントエンドに近づきます。
まずblocks.pyで入れ込みたい要素をブロック化、models.pyで出力のため(?)モデル化しています。article_block.htmlでブロックをHTMLにして、それをContentIndexのページに出すというプロセスです。

Python

#blocks.py class ArticleBlock(blocks.StructBlock): article_title = blocks.CharBlock(require=True, help_text='add content title') thumbnail = ImageChooserBlock(required=True) heading = blocks.TextBlock(require=True, help_text='add additional text') article_link = blocks.URLBlock(reqired=True) class Meta: template = "streams/article_block.html" icon = "edit" label = "article"

python

#models.py class ContentIndexPage(Page): template = "contents/content_index.html" header = models.ForeignKey( HeaderPage, null=True, blank=True, on_delete=models.SET_NULL, related_name='+') page_title = models.CharField(max_length=100, blank=False, null=True) content = StreamField( [ ("article_info", blocks.ArticleBlock()) ], null=True, blank=True, ) content_panels = Page.content_panels + [ SnippetChooserPanel('header'), FieldPanel('page_title'), StreamFieldPanel("content"), ] def get_context(self, request, *args, **kwargs): context = super().get_context(request, *args, **kwargs) context["articles"] = ContentIndexPage.objects.live().public() return context class Meta: verbose_name = "Content Page" verbose_name_plural = "Content Pages"

html

<!--article_block.html--> {% load wagtailimages_tags wagtailcore_tags %} <div class="container mb-sm-5 mt-sm-5"> <div class="row"> {% for article in articles %} {% image self.thumbnail fill-300x200 as img %} <img src="{{ img.article_link }}" alt="{{ img.alt }}" class="img-thumbnail"> <a href="{{ self.article_link }}"> <h2>{{ self.article_title }}</h2> </a> <p>{{ self.heading }}</p> {% endfor %} </div>

html

<!--content_index.html--> {% extends "base.html" %} {% load wagtailcore_tags %} {% block content %} <div class="jumbotron"> <div class="container"> <div class="row"> <div class="col-sm-12 text-center"> <h1 class="display-4">{{ self.page_title }}</h1> </div> </div> </div> </div> {% for block in page.content %} {% include_block block %} {% endfor %} {% endblock content %}

###よろしくお願いいたします。
何度も自分の既存のファイルを移したり、ドキュメントをみて挑戦してみましたが、できませんでした。何卒よろしくお願いいたします。

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

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

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

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

Django

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

ウェブアプリケーション

ウェブアプリケーションとは、ウェブ上でアクセスされるアプリケーションのことを呼びます。この場合におけるウェブとは、インターネットやイントラネット上を意味します。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。