url(r'^news_manage/edit/$',views.news_edit,name='edit') url配置

<a href="/management/news_manage/edit/?id={{news.id}}">编辑</a>

点击后进入

<form action="{% url 'management:edit' %}?id={{ news_object.id }}" method="post">
题目:
<input type="text" name='title' value={{news_object.title }}><br>
作者:
<input type="text" name='author' value={{news_object.author }}><br>
内容:
<input type="text" name='content' style="width: 500px;height: 300px" value={{news_object.content }}><br>
是否前端显示(0不显示,1 显示):
<input type="text" name='status' value={{news_object.status }}><br>
<input type="submit" value="保存更改"/>
</form>

处理函数为:

@transaction.commit_manually
@csrf_exempt
def news_edit(request):
try:
p = News.objects.get(id=request.GET.get('id'))
if 'content' in request.POST or 'title' in request.POST or \
'status' in request.POST or 'author' in request.POST:
p.content = request.POST.get('content')
p.title = request.POST.get('title')
p.status = request.POST.get('status')
p.author = request.POST.get('author')
p.save()
transaction.commit()
return HttpResponseRedirect(reverse('management:news_manage'))
else:
transaction.commit()
return render_to_response('news/news_edit.html',
{'news_object': p}, context_instance=RequestContext(request))
except News.DoesNotExist:
transaction.rollback()
return render_to_response("error.html",
{'msg': "信息不存在"},
context_instance=RequestContext(request))
except Exception, e:
print e
transaction.rollback()
return render_to_response("error.html",
{'msg': "数据库错误"},
context_instance=RequestContext(request))

PS:render_to_response和HttpResponseRedirect区别,前者是浏览器地址栏不变在浏览器界面更改显示界面。后者是直接跳转到另一个url界面。

最新文章

  1. [Android]依赖注入框架squareup的dagger
  2. 敏捷开发与jira之研发管理模式
  3. java并发:同步容器&amp;并发容器
  4. C++之路进阶——codevs2439(降雨量)
  5. 远程升级openSSH
  6. python课程
  7. hdu 4559 涂色游戏(对SG函数的深入理解,推导打SG表)
  8. 文件处理-Directory类 (C#)
  9. ThinkPHP 3.1.2 模板中的基本语法&lt;2&gt;
  10. WeQuant比特币交易策略回测记录
  11. ROS_Kinetic_18 使用V-Rep3.3.1和Matlab2015b(vrep_ros_bridge)续
  12. RHEL6.4上升级python从2.6.6到2.7.3
  13. win10 新建文件夹没有了
  14. gevent实现生产者消费者
  15. Codeforces Round #531 (Div. 3)
  16. Python3编写网络爬虫05-基本解析库XPath的使用
  17. SPL之Iterator(迭代器)接口
  18. ios应用内嵌h5页面数据自动变色识别为手机号码的解决方法——手机号码拨号禁用IOS手机页面数字自动识别为手机号
  19. C盘文件过大,C盘空间莫名丢失,pagefile.sys文件
  20. Android 使用WebView显示网页

热门文章

  1. [LeetCode]题解(python):006-ZigZag Conversion
  2. Windows下Python中的中文路径和中文输出问题
  3. Win32 SecuritySetting
  4. 模拟美萍加密狗--Rockey2虚拟狗(五)
  5. JavaEE Tutorials (11) - 使用Criteria API创建查询
  6. 关于GROUP BY的应用
  7. 关于android源码中的APP编译时引用隐藏的API出现的问题
  8. linux下笔记本有线网卡&quot;未受管理&quot;
  9. 74HC595的中文资料
  10. Java基础--finalize()方法