首页 > 其他 > 详细

Django 数据传递

时间:2019-01-30 23:44:41      阅读:148      评论:0      收藏:0      [点我收藏+]

在前面的访问数据库中,我们是这样来插入数据的:

[root@localhost web]$ cat web/urls.py

urlpatterns = patterns(‘‘,
    ....
    url(r^db/$, blog.views.db),    # 先定义访问的URL,然后再根据URL定义视图文件
)
[root@localhost web]$ cat blog/views.py
from django.shortcuts import render
from django.http import HttpResponse
from django.template import loader, Context
from blog.models import Host

def db(request): h
= Host() h.hostname = node04# 这里直接把数据写死了 h.ip = 192.168.1.4 h.save() return HttpResponse("OK")

技术分享图片

 

我们可以通过 POST 或 GET 方法来传递数据:

[root@localhost web]$ cat blog/views.py
....
from blog.models import Host    # 加载数据模型

def db(request):
    if request.POST:
        hostname = request.POST.get(hostname)    # 从POST数据中获取主机名
        ip = request.POST.get(ip)                # 从POST数据中获取IP地址
        host = Host()                              # 实例化数据模型
        host.hostname = hostname                   # 插入主机名数据
        host.ip = ip                               # 插入IP地址数据
        host.save()                                # 保存数据到数据库
        return HttpResponse(OK)                  # 最后返回一个结果给页面
    elif request.GET:
        hostname = request.GET.get(hostname)
        ip = request.GET.get(ip)
        host = Host()
        host.hostname = hostname
        host.ip = ip
        host.save()
        return HttpResponse(OK)
    else:
        return HttpResponse(No Data!)
[root@localhost web]$ cat web/settings.py
......

MIDDLEWARE_CLASSES = (
    ......
    #‘django.middleware.csrf.CsrfViewMiddleware‘,    # 注释掉该项,如果不注释掉,那么发送POST请求需要字符串验证
)

通过 POST 方法传递数据:

[root@localhost web]$ curl -d hostname=node05 -d ip=192.168.1.5 http://192.168.216.128:8000/db/
OK

通过 GET 方法传递数据:

技术分享图片

 

 

 

 

 

 

 

      

 

Django 数据传递

原文:https://www.cnblogs.com/pzk7788/p/10340215.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!