Generic createview и django form только рендеринг кнопки в шаблоне

Я столкнулся с забавной проблемой, поскольку я создаю некоторые приложения, где они хотят отслеживать некоторые расходы и доходы прибыли ... Я использовал общие представления для создания и получения деталей и удаления, все работает нормально с расходами, но я скопировал тот же код и я использовал его для доходов от расходов вы не можете себе представить, что это представление отображает только кнопку, но у него есть форма, ЗАМЕТЬТЕ ТАКОЙ ЖЕ КОД РАБОТАЕТ НА РАСХОДАХ. Я даже поменял шаблоны, но он продолжал отображать прежнее содержимое даже после изменения шаблона. Не имеет значения, что в шаблоне, вид просто отображает то же самое, даже когда я удаляю форму, даже когда я ставлю pass.

class AccountsRevenueCreate(CreateView):
template_name='dashboard/expense_create.html'
model= AccountsExpense
success_url = reverse_lazy('dashboard:expenses')
form_class=AccountsExpenseForm

и форма

class AccountsRevenueForm(forms.ModelForm):
class Meta:
    model = AccountsRevenue
    fields = '__all__'

и в шаблоне

<div class="row">
                    <div class="col-12">
                       <h5 class="form-title"><span>revenue Update </span></h5>
                    </div>
                    <form method="post", action="{% url 'dashboard:revenue_add' %}">
                    {% csrf_token %}
                       
                     {% comment %} {{ form|crispy }} {% endcomment %}     
                     {{ form.as_p }} 

                    <button type="submit" class="btn btn-primary col-12 col-sm-12">Save 
                    </button>
                   </form>
                 </div>

и URL

path ('accounts/revenues/create/', AccountsRevenueCreate.as_view(), name='revenue_create'),

Я решил показать вам только то, где проблема не вставить ненужный код

Я добавил скриншот того, что получается введите описание изображения здесь

оставить model.py, forms.py, urls.py как было.

views.py в строке: template_name = 'bboard/expense_create.html' замените bboard на название папки, в которой находятся шаблоны. У меня это templates/bboard. Также в вашем поле: form_class=AccountsExpenseForm изменилось на form_class = AccountsRevenueForm.. И возврат идет на ту же страницу с формой: success_url = reverse_lazy('revenue_create').

success_url можно вернуть на прежнее место, теперь нужно убедиться, что все работает.

views.py

class AccountsRevenueCreate(CreateView):
    template_name = 'bboard/expense_create.html'
    model = AccountsExpense
    success_url = reverse_lazy('revenue_create')
    form_class = AccountsRevenueForm

expense_create.html в шаблоне у вас ошибка формы method="post", там не должно быть запятой.

<div class="row">
    <div class="col-12">
        <h5 class="form-title"><span>revenue Update
                     </span></h5>
    </div>
    <form method="post" action="{% url 'revenue_create' %}">
        {% csrf_token %}

        {% comment %} {{ form|crispy }} {% endcomment %}
        {{ form.as_p }}

        <button type="submit" class="btn btn-primary col-12 col-sm-12">Save
        </button>
    </form>
</div>

Перешел по ссылке: http://localhost:8000/accounts/revenues/create/

Прилагается скриншот: enter image description here

Вернуться на верх