簡體   English   中英

表單不保存,但返回200

[英]Form doesn't save but returns 200

我想創建一個項目對象,並通過我編寫的表單將其保存到數據庫。 現在,我可以從表單中更新它,而且管理面板也可以從那里創建項目。 但是,創建表單不保存。 當我單擊按鈕時,它刷新頁面,在終端返回200,但不保存。 我把它的每個部分,我檢查了很多,但沒有看到任何錯誤。

編輯:我嘗試了基於函數的視圖,相同的結果。 但據我了解,問題在於圖片。

這是我的模型。

class Item(models.Model):
    owner = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.SET_NULL, null=True, related_name='items')
    name = models.CharField(max_length=50)
    description = models.TextField(max_length=250)
    price = models.FloatField()
    picture = models.ImageField(upload_to='item_pictures')
    is_available = models.BooleanField(default=True)
    created_at = models.DateField(auto_now_add=True)
    updated_at = models.DateField(auto_now=True)
    category = models.ForeignKey(Category, on_delete=models.DO_NOTHING, related_name='category')
    slug = models.SlugField(unique=True, null=True, blank=True)

    def save(self, *args, **kwargs):
        self.slug = slugify(self.name)
        return super(Item, self).save(*args, **kwargs)

    def __str__(self):
        return self.name

我的網址

 path('item/create/', ItemCreateView.as_view(), name='item-create'),

我的觀點

class ItemCreateView(LoginRequiredMixin, CreateView):
model = Item
fields = ['name', 'description', 'price', 'picture', 'is_available', 'category', 'slug' ]
template_name = 'item/item_update.html'
success_url = '/'

成功網址返回主頁,但表格僅刷新

和形式

class ItemCreateForm(forms.ModelForm):
class Meta:
    model = Item
    fields = ['name', 'description', 'price', 'picture', 'is_available', 'category', 'slug']

最后以防萬一

    {% extends "base.html" %}


{% load crispy_forms_tags %}

{% block body %}
    <form action="{% url 'item-create' %}" method="POST" class="form-group">
    {% csrf_token %}
    <div class="row justify-content-center">
        <div class="col-6">
        {{ form|crispy }}
        <div class="col text-center">
            <button type="submit" class="btn btn-success">Create</button>
        </div>
        </div>
    </div>
    </form>
{% endblock %}

顯然我忘記了模板中的enctype =“ multipart / form-data”。 問題已經解決了。

暫無
暫無

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

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