djangoでcreateviewで画像を作ってアップロードさせようとしているのですができません。
models.py from django.db import models class BookList(models.Model): RANK_CHOICES = ( ("A", "A"), ("B", "B"), ("C", "C"), ("D", "D"), ("E", "E"), ) name = models.CharField(max_length=50) description = models.TextField() rank = models.CharField(max_length=1, choices=RANK_CHOICES) image = models.ImageField(upload_to='') def __str__(self): return self.name
views.py from django.views.generic import ListView, CreateView, DetailView from .models import BookList from django.urls import reverse_lazy class BookCreate(CreateView): template_name = 'create.html' model = BookList success_url = reverse_lazy('list') fields = ('name', 'description', 'rank', 'image') class ListShow(ListView): model = BookList context_object_name = 'all_list' template_name = 'list.html' def get_queryset(self): return BookList.objects.all() class DetailShow(DetailView): model = BookList template_name = 'detail.html'
create.html <!DOCTYPE html> {% extends 'base.html' %} {% block content %} <form action="" method="POST"> {% csrf_token %} {{ form.as_p }} <input type="submit" value="追加する"> </form> {% endblock %}
上のようなコードでやっているのですが、フォームに追加しようとすると、下の画像のように、This field is requiredと出てしまいます。
どのようにしたらよいのでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。