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

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

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

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

Q&A

解決済

1回答

2537閲覧

djangoでtemplateからhtmlの属性を編集する方法

keraker

総合スコア46

Django

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

0グッド

0クリップ

投稿2020/07/31 14:19

編集2020/07/31 14:38

前提・実現したいこと

django-widgets-improvedを使ってtemplateからclass属性を実装中に以下のエラーメッセージが発生しました。 解決しました。

発生している問題・エラーメッセージ

'str' object has no attribute 'as_widget'

該当のソースコード

html

1 <table class="table"> 2 <tr> 3 <th>id</th> 4 <th>name</th> 5 <th>age</th> 6 <th>mail</th> 7 <th>birthday</th> 8 <th>Messages</th> 9 </tr> 10 {% for item in data %} 11 <tr> 12 <td>{{item.id}}</td> 13 <td>{{item.name}}</td> 14 <td>{{item.age}}</td> 15ためしにつけてみただけなので位置、内容は適当です。 16 <td>{{item.mail|add_class:"css_class_1 css_class_2"}}</td> 17 <td>{{item.birthday}}</td> 18 <td><ul> 19 {% for ob in item.message_set.all %} 20 <li>{{ob.title}}</li> 21 {% endfor %} 22 </ul></td> 23 <tr> 24 {% endfor %} 25 </table>

試したこと

ほかの位置に付け替えるとその場所に応じたobject にエラーが発生しました。
また、django-widget-tweaksでも同様です。

補足情報

どうやらdjango-widget-tweaksはformしか編集できないようでした。

templateから属性を変える方法をご存知の方はいらっしゃいませんか。回答をお待ちしてます。

よろしくお願いします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

{{item.mail}}は文字ですよね。なら、

HTML

1<td class="css_class_1 css_class_2">{{item.mail}}</td> 2```で大丈夫です。 3*** 4djangoのformはカスタマイズが難しく、HTML内だけではできません。 5`django-widgets-improved`は、このようなフォームフィールドを簡単にtemplateでカスタマイズするためのものです。

投稿2020/07/31 20:02

ForestSeo

総合スコア2720

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

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

keraker

2020/07/31 23:48

ありがとうございます。 item.mailのほうに属性を付与することはできますか。
keraker

2020/07/31 23:49

条件式などを用いて変えられないか考えています。
ForestSeo

2020/08/01 02:52

> item.mailのほうに属性を付与する 文字列に属性は付与できません
keraker

2020/08/01 13:34

すみません。as_pとかをつければと思っていたのですがこれもformだけだったのですね。 勉強になりました。
ForestSeo

2020/08/01 19:28

> as_pとかをつければと思っていたのですがこれもformだけ その通りです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問