url传值是否会出错 xmlhttprequest_第10章 程序出错,是Django的错,还是你的错?

上一节说到程序会出错,但我没演示,现在补上。请在浏览器上输入http://127.0.0.1:8000/base/

update/100/ ,回车试试看,哎呀,沙雕了。错误不少呀。

07f9431346510139b4c63dca989e27a6.png

没事,遇到问题,不要慌也不要急,解决就是了。咱们进行错误捕捉处理,对update函数进行升级改造。再次运行,会有友好信息提醒,over。

# 修改数据def update(request, post_id): try: post = Post.objects.get(id=post_id) post.name = '项目经理' post.save() except Post.DoesNotExist: return HttpResponse('访问的岗位不存在,请确认!') else: return HttpResponseRedirect('/base/')

对数据库的增删改查功能是实现了,只是视图(html)的代码写死在逻辑控制(views.py)里了。没有达到分工,轻耦合的目的,而这个可以通过模板文件进行实现。

10.1 模板文件

在base/templates/base下新建一个index.html模板文件,选择html5,这是目前常用的版本,解决了很多html4存在的问题,完整代码如下。

 岗位信息列表 {% for post in posts %} 岗位:{{ post.name }} 删除| 修改
{% endfor %}

为了传值给html了,需要对views.py中的index函数进行改造,霹雳吧啦,几下就输完了。

rom django.template import loader# 访问数据def index(request): posts = Post.objects.all() t = loader.get_template('base/index.html') return HttpResponse(t.render({'posts': posts}))

运行项目,打开浏览器进行访问http://127.0.0.1:8000/base/ ,效果虽然跟之前是一样的,但意义不同,进步不一般,积小成大。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值