前提・実現したいこと
Python Djangoで簡易Webアプリを作成し、ローカルの開発環境ではCreateViewのformが登録/保存ができるもののHerokuデプロイ後の本番環境ではCreateViewのformで登録/保存ができない。
ただし、DeleteViewのformから登録/保存済みデータの削除は実行できている。
また、本番環境で管理サイトからアプリを選択し直接データの新規登録を行うことは可能。
問題のコードviews.py
from django.contrib.auth.mixins import LoginRequiredMixin from django.urls import reverse_lazy from django.views.generic import ListView, DetailView from django.views.generic.edit import CreateView, UpdateView, DeleteView from django_filters.views import FilterView from .models import Item from .filters import ItemFilter from .forms import ItemForm # Create your views here. # 詳細画面 class ItemDetailView(LoginRequiredMixin, DetailView): model = Item # 登録画面 class ItemCreateView(LoginRequiredMixin, CreateView): model = Item form_class = ItemForm success_url = reverse_lazy('index') # 更新画面 class ItemUpdateView(LoginRequiredMixin, UpdateView): model = Item form_class = ItemForm success_url = reverse_lazy('index') # 削除画面 class ItemDeleteView(LoginRequiredMixin, DeleteView): model = Item success_url = reverse_lazy('index')
問題のコードitem_form.html
{% extends "./_base.html" %} {% load crispy_forms_tags %} {% block content %} {{ form.certifications.errors }} <div class="container"> <div class="row"> <div class="col-12"> <h2 class="text-center">データ入力</h2> </div> </div> <div class="row"> <div class="col-12"> <div class="float-right"> <a class="btn btn-outline-secondary" href="{% url 'index' %}">戻る</a> <a class="btn btn-outline-secondary save" href="#">保存</a> </div> </div> </div> <div class="row"> <div class="col-12"> <form method="post" id="myform"> {%crispy form%} </form> </div> </div> <div class="row"> <div class="col-12"> <div class="float-right"> <a class="btn btn-outline-secondary" href="{% url 'index' %}">戻る</a> <a class="btn btn-outline-secondary save" href="#">保存</a> </div> </div> </div> </div> {% endblock %}
問題のコードitem_confirm_delete.html
{% extends "./_base.html" %} <!-- --> {% block content %} <div class="container"> <h2 class="text-center">データ削除</h2> <p>このデータを削除します。よろしいですか?</p> <form action="" method="post"> {% csrf_token %} <div class="row"> <div class="col-12"> <div class="float-right"> <a class="btn btn-outline-secondary" href="{% url 'index' %}">戻る</a> <input type="submit" class="btn btn-outline-secondary" value="削除" /> </div> </div> </div> {% include "./item_card.html" %} <div class="row"> <div class="col-12"> <div class="float-right"> <a class="btn btn-outline-secondary" href="{% url 'index' %}">戻る</a> <input type="submit" class="btn btn-outline-secondary" value="削除" /> </div> </div> </div> </form> </div> {% endblock %}
環境
Windows 10
python-3.9.0
Django==3.1.3
django-heroku==0.3.1
試したこと
item_confirm_delete.htmlの記載に合わせ、item_form.htmlでも<form </form>の中に下記を記載しても駄目。
<a class="btn btn-outline-secondary save" href="#">保存</a>
同様に上記<a を以下に修正しても駄目。
<input type="submit" class="btn btn-outline-secondary" value="保存" />
上記修正をHerokuに正しくpushしたの後、確認しているが解消されなかった。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。