在前面的访问数据库中,我们是这样来插入数据的:
[[email protected] web]$ cat web/urls.py urlpatterns = patterns(‘‘, .... url(r‘^db/$‘, ‘blog.views.db‘), # 先定义访问的URL,然后再根据URL定义视图文件 )
[[email protected] 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 方法来传递数据:
[[email protected] 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!‘)
[[email protected] web]$ cat web/settings.py ...... MIDDLEWARE_CLASSES = ( ...... #‘django.middleware.csrf.CsrfViewMiddleware‘, # 注释掉该项,如果不注释掉,那么发送POST请求需要字符串验证 )
通过 POST 方法传递数据:
[[email protected] web]$ curl -d hostname=‘node05‘ -d ip=‘192.168.1.5‘ http://192.168.216.128:8000/db/ OK
通过 GET 方法传递数据:
原文地址:https://www.cnblogs.com/pzk7788/p/10340215.html
时间: 2024-10-08 14:29:24