[英]Django how to save POST into form?
我正在嘗試將 POST 保存到我的表單中。
視圖.py
def index(request):
if request.method == 'POST':
print('!PRINT request.POST')
print(request.POST)
form = PostForm(request.POST, request.FILES)
print('!PRINT form')
print(form)
if form.is_valid():
form.save()
return redirect('/')
返回:!PRINT request.POST
~'title': ['Bart', 'Mat'], 'Create Match': ['Submit']}>
!打印表格
~name="title" value="Mat" maxlength="200" required id="id_title"
~name="title1" class="errorlist" 此字段是必需的。
表格.py
class PostForm(forms.ModelForm):
class Meta:
model = Post
fields = '__all__'
模型.py
class Post(models.Model):
title = models.CharField(max_length=200)
title1 = models.CharField(max_length=200)
created = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.title
列表.html
<form method="POST" enctype="multipart/form-data" action="/">
{% csrf_token %}
{{ form.title }}
{{ form.title }}
<input type="submit" name="Create Match">
</form>>
您沒有將值傳遞給表單,沒有要保存的數據
嘗試這樣的事情:
def index(request):
if request.method == 'POST':
form = PostForm(request.POST)
if form.is_valid():
new_post = name_of_your_model(
field1=value_you_want_to_safe,
field2=value_you_want_to_safe,
...
)
new_post.save()
return redirect('/')
試試這個片段,
在views.py中
def index(request):
form = PostForm()
if request.method == 'POST':
form = PostForm(request.POST, request.FILES)
if form.is_valid():
form.save()
return redirect('/')
return render(request,'path_to/html_template.html',context={'form':form})
在你的 html_template.html
<form method="POST" enctype="multipart/form-data" >
{%csrf_token%}
{% form.as_p %}
<button type="submit">Submit</button>
</form>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.