Django--制作表单

--------------这只是其中一个方法--------------

step1

创建一个模型model

class Question(models.Model):
    question_text = models.CharField(max_length=200)
    pub_date = models.DateTimeField(auto_now=True)

step2

新建一个form.py。(任意命名,放在你的app同级目录)

from django.forms import ModelForm
from .models import Question

class NewPoll(ModelForm):
    class Meta:
        model = Question
        fields='__all__'

step3

views中

def new_poll(request):
    if request.method == 'POST':
        form = NewPoll(request.POST)
        if form.is_valid():
            poll=form.save()
            poll.save()
            return HttpResponse('ok')
    else:
        form = NewPoll()
    return render(request,'polls/new_poll.html',{'form':form})

step4

新建模板,就是一个html,就叫new_poll.html。body中写一个form表单。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>创建新问卷</title>
</head>
<body>
    <form action="" method="post">
        {% csrf_token %}
        {{ form }}
        <br/>
        <input type="submit" value="submit"/>
    </form>
</body>
</html>

step5

配置,应用的url,urlpattern中添加

	url(r'^newpoll/$',views.new_poll,name='newpoll'),

--------------注意点--------------------

request的方法,POST,必须大写

csrf打开,否则无法接收到表单


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值