你好,我是django初学者有困难的时候,有人能帮我吗?我不知道我做错了什么? 我试图创建一个窗体,并通过它保存一些数据窗体保存(). 我也是新来的,所以不要介意任何错误。在
这是我的模型:
from django.db import models
from stores.models import Store
class Category(models.Model):
id = models.AutoField(primary_key=True)
name = models.CharField(max_length=30)
def __str__(self):
return self.name
class Product(models.Model):
id = models.AutoField(primary_key=True)
name = models.CharField(max_length=30)
price = models.DecimalField(max_digits=5, decimal_places=5)
image = models.ImageField(upload_to='upload_to/')
category = models.ForeignKey(Category, default='Default', on_delete=models.CASCADE, blank=False, null=False)
store = models.ForeignKey(Store, on_delete=models.CASCADE, blank=False, null=False)
以下是我的观点:
^{pr2}$这是我的表格:
from django import forms
from .models import Product
class NewPro(forms.ModelForm):
class Meta:
model = Product
fields = ('name', 'price', 'image','category', 'store',)
默认/添加_产品.html以下内容:
{% extends 'default/base.html' %}
<html>
<head><title>E-Commerce App</title></head>
{% block content %}
<h1>Add Product details</h1>
<form method="post">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">Add Product</button>
</form>{% endblock %}
</html>
在设置.py设置
MEDIA_ROOT = '/home/saifi/Saif_project/final_project/MEDIA_ROOT/upload_to'
你的缩进是错的,其他的应该是第一个“如果”
我可以在视图中看到一些缩进问题,但我猜这只是复制到Stackoverflow时的格式问题。在
form.is_valid()
检查将验证所有表单字段,并且仅当所有输入字段都有效时才会写入数据库。如果不保存,我首先要检查的是表单错误。在在模板中,您可以用
{{form.errors}}
呈现错误,它将列出每个字段和错误。在您忘记了
request.FILES
在您的pro
视图函数中,您毕竟有一个图像文件。在请尝试以下方式使用表单:
^{pr2}$我希望这会有帮助。欢迎加入;)
相关问题 更多 >
编程相关推荐