🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Django

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

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

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

Q&A

解決済

1回答

8333閲覧

django TypeErrorのエラー箇所が知りたい

omyu

総合スコア22

Django

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

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

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

0グッド

0クリップ

投稿2019/10/02 14:24

編集2019/10/03 02:39

djangoでのアプリ製作中にTypeErrorが起きたのですが、どこが間違っているのかわかりません。
プログラミング初心者で初歩的すぎる質問かもしれませんが、どなたか教えていただければ有り難いです。

TypeError at /register/

AddressModelForm.Meta.fields cannot be a string. Did you mean to type: ('address',)?
Request Method: GET
Request URL: http://127.0.0.1:8000/register/
Django Version: 2.2.5
Exception Type: TypeError
Exception Value:
AddressModelForm.Meta.fields cannot be a string. Did you mean to type: ('address',)?
Exception Location: /usr/local/lib/python3.7/site-packages/django/forms/models.py in new, line 235
Python Executable: /usr/local/opt/python/bin/python3.7
Python Version: 3.7.3
Python Path:
['/Users/takaharaomi/Desktop/myapp/weathermail',
'/usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/Versions/3.7/lib/python37.zip',
'/usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/Versions/3.7/lib/python3.7',
'/usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/Versions/3.7/lib/python3.7/lib-dynload',
'/usr/local/lib/python3.7/site-packages']
Server time: Thu, 3 Oct 2019 02:30:40 +0000

python3

1from django.db import models 2 3# Create your models here. 4class AddressModel(models.Model): 5 address = models.CharField(max_length=100) 6 def __str__(self): 7 return self.address

上のがmodels.pyです

html

1<!doctype html> 2<html lang="ja"> 3 <head> 4 <!-- Required meta tags --> 5 <meta charset="utf-8"> 6 <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> 7 8 <!-- Bootstrap CSS --> 9 <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous"> 10 11 <title>Register</title> 12 </head> 13 <body> 14 {% block content %} 15 {% endblock content %} 16 17 <!-- Optional JavaScript --> 18 <!-- jQuery first, then Popper.js, then Bootstrap JS --> 19 <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script> 20 <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script> 21 <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script> 22 </body> 23</html>

上のはbase.htmlです

html

1{% extends 'base.html' %} 2 3{% block content %} 4<form action="" method="POST"> 5 {{ form.as_p }} 6 <input type="submit" value="登録する"> 7</form> 8{% endblock content %}

上のはregister.htmlです

python3

1from django.shortcuts import render 2from django.views.generic import CreateView 3from .models import AddressModel 4 5 6# Create your views here. 7 8class Register(CreateView): 9 template_name = 'register.html' 10 model = AddressModel 11 fields = ('address')

上のはviews.pyです
イメージ説明
イメージ説明
イメージ説明
イメージ説明
イメージ説明

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

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

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

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

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

Y.H.

2019/10/03 00:21

エラーメッセージやソースファイルなどは画像ではなくテキストで質問に記載ください。 回答がつく確率も上がると思います(画像だとコピーできないので調べようという気にもならなく、そっ閉じされるので)
omyu

2019/10/03 02:29

なるほど! ありがとうございます、修正します!
guest

回答1

0

自己解決

python3

1from django.shortcuts import render 2from django.views.generic import CreateView 3from .models import AddressModel 4 5 6# Create your views here. 7 8class Register(CreateView): 9 template_name = 'register.html' 10 model = AddressModel 11 fields = ('address',)

もともと
fields = ('address')だったのを
fields = ('address',)に変更すると解決しました。
ありがとうございました。

投稿2019/10/03 02:48

omyu

総合スコア22

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問