【发布时间】:2020-09-06 16:39:09
【问题描述】:
我正在尝试将数据从 django 表单发送到后端 sqlite3。但我无法这样做。我也没有收到任何帮助我解决问题的错误或警告。
这是models.py文件
from django.db import models
GENDER_CHOICES = [
('Male', 'M'),
('Female', 'F')]
class upload(models.Model):
name = models.CharField(max_length=100)
gender = models.CharField(max_length=10, choices=GENDER_CHOICES)
phone = models.CharField(max_length=50,null=True)
email= models.EmailField(max_length=50,null=True)
file=models.FileField(upload_to='uploads/')
def __str__(self):
return self.name
这是 forms.py 文件
from django.forms import ModelForm
from .models import upload
class uploadForm(ModelForm):
class Meta:
model = upload
fields = ['name', 'gender', 'phone', 'email','file']
这里是 view.py 文件
from django.shortcuts import render
from .forms import uploadForm
from django.shortcuts import render
def home(request):
if request.method == 'POST':
form = uploadForm()
if form.is_valid():
form=form.save()
return HttpResponseRedirect('/')
else:
form = uploadForm()
return render(request,'home.html',{'print':form})
我无法理解问题出在哪里 这就是模板文件的样子
<form method="post">
{% csrf_token %}
{{ print.as_p }}
<input type="submit" value="Submit">
</form>
编辑
这个问题是FileField,我删除了它,它开始保存在 django 数据库中。我想要的是保存媒体文件夹中的文件和数据库中的其他数据
我还在表单中添加了enctype="multipart/form-data"
【问题讨论】:
-
是否有异常
-
不,没有