Django运行流程(例子说明)

下图很好解析了django的运行流程

下面是一个简单的Django例子

url.py(添加url,调用getform方法)

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^form/$', getform,name='go_form')
]

views.py

def getform(request):
    all_messages = UserMessage.objects.filter(name='说说')#选取表格字段name=说说的一条数据
    if all_messages:
        message = all_messages[0]#传递到return的第三个参数中,template用value={{ message.字段名 }}进行绑定

    #提交表单(request是前端post过来的信息)
    if request.method == "POST":
        #获取前端填写的name值,没有则为空
        name = request.POST.get('name','')
        message = request.POST.get('message', '')
        email = request.POST.get('email', '')
        address = request.POST.get('address', '')
        #实例化model类(ORM把表单当成对象操作)把获取到的值赋值给表单对象下的字段
        user_message = UserMessage()
        user_message.name = name
        user_message.message = message
        user_message.address = address
        user_message.email = email
        user_message.object_id = "hellowoed"
        user_message.save()

    #第二个参数是需要返回template的名称,第三个参数是上面获取的数据
    return render(request,'message_form.html',{
        "message":message
    })

models.py(生成数据表对象ORM思想)

上面的views.py中直接实例化UserMessage用类对象操作字段的增删改查

class UserMessage(models.Model):
    #通过model类生产表格
    object_id = models.CharField(max_length=50,default="",primary_key=True)#主键
    name = models.CharField(max_length=20,null=True,blank=True,default="",verbose_name=u"用户名")#verbose_name字段注释 u是Unicode编码,null=True,blank=True,指明该字段可以为空
    email = models.EmailField(verbose_name=u"邮箱")
    address = models.CharField(max_length=100,verbose_name=u"联系地址")
    message = models.CharField(max_length=500,verbose_name=u"留言信息")

    class Meta:
        #除了字段外的一切信息,如表名,排序等元数据
        verbose_name = u"用户留言信息"
        verbose_name_plural = verbose_name

HTML(其中一个例子)

<label>
       <span>邮箱 :</span>
       <input id="email" type="email" value="{{ message.email }}" name="email" placeholder="请输入邮箱地址"/>
       <div class="error-msg"></div>
</label>

友情提示:setting中需要配置好你的template路径和静态文件路径,还有数据库连接参数,还有APP



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值