在做post的时候,view.py用到了下面的方法,如果是POST的method,就通过request.POTST['XX']获得html中name为XX的值,然后将值save到数据库里
models.py:

from projectmanage.settings import DBNAME
from mongoengine import *
connect(DBNAME) class project(Document):
name = StringField(max_length=120, required=True)
description = StringField(max_length=500, required=False)
pmember = StringField(max_length=120, required=False)
devmember = StringField(max_length=120, required=False)
testmember = StringField(max_length=120, required=False)
uimember = StringField(max_length=120, required=False)
status = StringField(max_length=120, required=False)
date = DateTimeField(required=False)
last_update = DateTimeField(required=False)


view.py:
def newproject(request):
# id = eval("request." + request.method + "['id']")
# post = project.objects(id=id)[0]
if request.method == 'POST':
name = request.POST['name']
description = request.POST['description']
pmember = request.POST['pmember']
devmember = request.POST['devmember']
testmember = request.POST['testmember']
uimember = request.POST['uimember']
post = project(name=name, pmember=pmember,devmember=devmember,testmember=testmember,uimember=uimember,status="测试中")
post.last_update = datetime.now()
post.save()
return render_to_response('newproject.html', locals(),context_instance=RequestContext(request))

遇到的问题1:提示找不到name
解决方法:在html的form里,需要提交的项目里加上"name"="XXX"

<form id="formid" method="POST" action="/index/" >
{% csrf_token %}
<table>
<tr>
<td>项目名称:</td>
<td>
<input id="projectid" name="name" type="text" value="{{ name }}">
</td>
</tr>
……
<div>
<button onclick="checkUser();" type="submit">保存</button>
<button>取消</button>
</div>
</form>

遇到的问题2:只是通过form中的action跳转了,但是没有提交post请求
解决方法:将action置为空(因为post的参数是传递给action中的地址的,所以如果我给的action地址是/index/,那么我的post的save操作实际上是应该写在/index/的view下的)

<form id="formid" method="POST" action="" >
……
</form>

django提交post请求的更多相关文章

  1. python——django的post请求

    两次被同一块石头绊倒简直不可原谅!第一次写django程序的时候,就因为ajax post请求折腾了整整一天,时隔两个多月昨天又被虐一整晚.叔可忍婶儿也不能忍了!!!重要的事情写下来,为以后轻松碾压p ...

  2. 玩转Django的POST请求 CSRF

    玩转Django的POST请求 CSRF 不少麻油们玩django都会碰到这个问题,POST请求莫名其妙的返回 403 foribidden,希望这篇博文能解答所有问题 三种方法 To enable ...

  3. javascript实现checkbox提交submit请求

    javascript实现checkbox提交submit请求 背景:使用django模板中for来形成多个checkbox,需要点击单个checkbox并查询数据触发submit请求到后台,djang ...

  4. Django整理(五) - 请求与响应 - request对象

    请求对象 一.客户端传参的几种方式 1. 通过URL路径(path)传递,例如:http://127.0.0.1:8000/news/1/2,两个参数:id和page 2. 通过 query stri ...

  5. php ajax提交post请求出现数组被截断情况的解决方法

    一.场景 今天做保存专题商品列表的时候发现,前端明明有2300多条数据,但是实际服务端接受存入数据库才166条 二.解决过程 经过调试发现前端页面提交post请求时数据量是正确的,但到服务端只能接受到 ...

  6. Android 使用HttpClient方式提交POST请求

    final String username = usernameEditText.getText().toString().trim(); final String password = passwr ...

  7. Android 使用HttpClient方式提交GET请求

    public void httpClientGet(View view) { final String username = usernameEditText.getText().toString() ...

  8. 使用libcurl提交POST请求

    最近在学习libcurl,并利用它提交POST请求,可是返回的响应总是无从验证该次POST请求是否成功提交了. 1. 先看下根据firebug提交的一次成功的请求,这里以login我喜欢上的xiami ...

  9. Django跨域请求之JSONP和CORS

    现在来新建一个Django项目server01,url配置为 url(r'^getData.html$',views.get_data) 其对应的视图函数为get_data: from django. ...

随机推荐

  1. theme为dialog的Activity如何充满全屏

     转自:http://blog.csdn.net/fzh0803/article/details/9787615 分类: android_点滴记录2013-08-06 10:33 2005人阅读 评论 ...

  2. mac电脑链接安卓手机的方法

    https://blog.csdn.net/liubin9043/article/details/78928253/ 我用了个爱莫 不错 http://web.airmore.com

  3. VBA 自动得到分数

    ' 将一个正数除以 y 返回一个整数或分数 Function RFs(ByVal x As Integer) As String Then RFs = Exit Function End If Dim ...

  4. MySQL 二进制文件恢复

    先不说话  先来一段代码块 mysql> show variables like 'autocommit'; +---------------+-------+ | Variable_name ...

  5. [UE4]C++ 动态内存分配(6种情况,好几个例子)

    1.堆内存分配 : C/C++定义了4个内存区间: 代码区,全局变量与静态变量区,局部变量区即栈区,动态存储区,即堆(heap)区或自由存储区(free store). 堆的概念: 通常定义变量(或对 ...

  6. 如何在一个js文件中引入另外的js文件

    例如想要在a.js中引用b.js.c.js和d.js document.write("<script language='javascript' src='b.js'></ ...

  7. 版本管理工具---svn搭建与使用

    SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS.CVS,它采用了分支管理系统,它的设计目标就是取代CVS.互联网上很多版本控制服务已从CVS迁移到Subversion ...

  8. Oracle函数中将参数放在模糊查询中

    --diagnosis_name like '%'||diagnosis_names||'%' create or replace function asdf(MIN_DATE IN varchar2 ...

  9. Android之sandbox技术

    ART 虚拟机下Hook工具:VirtualHook http://bbs.pediy.com/thread-216786.htm Github: https://github.com/rk700/V ...

  10. Windows10右键添加“在此处打开命令窗口"

    今天跑代码时用到了Powershell,有一个环境变量死活都找不到,无奈只好重新回到cmd命令行测试,结果立马就跑通了.-_-||  由于现在Win10默认右键只有Powershell,所以为了以后方 ...