這裏是具有一個例子: 具有三個表單字段即如何在django中保存POST數據?
from django import forms
from models import Article
class ArticleForm(forms.ModelForm):
class Meta:
model = Article
fields = ('title','body','thumbnail')
視圖
from django.shortcuts import render_to_response
from uploadfiles.models import Article
from django.http import HttpResponse, HttpResponseRedirect
from forms import ArticleForm
from django.core.context_processors import csrf
def create (request):
if request.POST:
form = ArticleForm(request.POST, request.FILES)
if form.is_valid():
return HttpResponseRedirect('/all')
else:
form = ArticleForm()
args= {}
args.update(csrf(request))
args['form'] = form
return render_to_response('create_article.html', args)
模型
from django.db import models
from time import time
def get_upload_file_name(request):
return "uploaded_files/%s_%s" %(str(time()).replace('.','-'))
class Article(models.Model):
title = models.CharField(max_length=200)
body = models.TextField()
thumbnail = models.FileField(upload_to = get_upload_file_name)
def __unicode__(self):
return self.title
html頁面
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
</head>
<body>
<form action="/create" method="post" enctype="multipart/form-data">{% csrf_token %}
{{form.as_ul}}
<input type="submit" name="submit" value="create"/>
</form>
</body>
</html>
我的問題是:
1)什麼是元級的,我們爲什麼用這個?
2)這一行是什麼意思args.update(csrf(request))
?
3)在窗體頁面重定向到/create
..因爲這可以是任何頁面!所以現在如何保存發佈的數據。因爲這會將提交的數據返回到html頁面。
我的問題可以是如此基本或簡單,但這些是我不明白的事情,因此我在這裏張貼這個!它可以複製,所以如果你不喜歡它,請不要標記爲負數。:)