簡體   English   中英

Django 2.0 CreateView無法正常工作

[英]Django 2.0 CreateView not working

我是Django的新手。 不確定這是錯誤還是錯誤。

這是我在名為gcbv的應用程序中的模型(用於基於類的通用視圖)

from django.db import models
from core.models import TimeStampModel
from django.urls import reverse
# Create your models here.
class Vehicle(TimeStampModel):
    maker = models.CharField(max_length=100)
    model_year = models.IntegerField()
    vehicle_type = models.CharField(max_length=100)
    slug = models.SlugField(max_length=100, unique=True)
    vehicle_model = models.CharField(max_length=100)
     website = models.URLField(max_length=100, blank=True)
    email = models.EmailField(max_length=100, blank=True)
    notes = models.TextField(blank=True, default='')
    def __str__(self):
        x = self.maker + ' ' + self.vehicle_model
        return x

這是URL:

from django.contrib import admin
from django.urls import path, include
from django.conf.urls import url
from . import views
from django.urls import reverse
#from django.views.generic.base import TemplateView

app_name = 'gcbv'

urlpatterns = [
    path('sub1/', views.SubView.as_view(), name='sub1'),
    path('vehicle_list/', views.VehicleListView.as_view(),
        name = 'vehicle_list'),
    path('vehicle/<str:slug>/', 
       views.VehicleDetailView.as_view(), 
        name='vehicle_detail'),
    path('vehicle/create', views.VehicleCreateView.as_view(),
        name='vehicle_create'),    
    path('', views.IndexTemplateView.as_view(), name='index'),
]

這是相關視圖:

class VehicleCreateView(CreateView):    
    model = Vehicle
    fields = ['maker', 'model_year', 'vehicle_type', 'slug',
        'vehicle_model', 'website', 'email', 'notes']
    labels = {'maker':'Maker', 'model_year':'Year', 
        'vehicle_type':'Type', 'vehicle_model':'Model',
        'website':'Website', 'email':'Email', 'notes':'Notes'}

這是模板:

{% extends "core/base.html" %}
{% block body_block %}
    <h1>Vehicle Create for GCBV</h1>
    <form action="POST" action="">
        {% csrf_token %}
        {{ form.as_p }}
        <button name="submit" class="btn btn-primary">Submit</button>
    </form>
    <h1>End Vehicle Create for GCBV</h1>
{% endblock %}

好像數據沒有保存在數據庫中,但是當我直接在管理頁面中手動添加相同的數據時,一切正常。 我已附加了另一個屏幕截圖,顯示VehicleDetailView已找到相關模板並呈現了信息。

任何幫助將不勝感激。

注意:當我使用函數視圖和正則表達式而不是路徑時,一切工作正常。


形成 呈現的表單模板

提交后 點擊提交后

名單 點擊提交后

細節 點擊提交后

好吧,這就是我們七十年代的人所說的“高級時刻”。 我已經盯着該代碼兩天了,卻沒有發現明顯的問題。

方法= “POST”!

行動= “POST”

非常感謝

在模板的第四行中,方法應等於“ post”

{% extends "core/base.html" %} 

{% block body_block %}

 <h1>Vehicle Create for GCBV</h1> 

<form method="POST" action=""> 
{% csrf_token %}
 {{ form.as_p }}
 <button name="submit" class="btn btn-primary">Submit</button> 
</form> 
<h1>End Vehicle Create for GCBV</h1>
 {% endblock %}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM