中文URL:这个其实是很常识的东西,但是之前做web一直没注意过,在使用HttpResponseRedirect的时候,如果Redirect的URL中带中文的话,会报UnicodeEncodeError错误。解决的办法是使用urlquote对URL进行编码
from django.utils.http import urlquote #return的时候在URL前加上urlquote
return HttpResponseRedirect(urlquote("/wiki/%s" % page.pagename))
这个URL在ie的地址栏看到的就是一堆%的东西,Firefox等好像看到的是中文 Django版本:Django Step by Step用的是Django0.9.x版本的,很多语法和结构和最新的1.0.x已经有所变化,这个变化挺多,网上已经有所总结
将基于0.96的 Apps 迁移到 1.0.
模板对于HTML字符的转义:一般来说,你用于替换模板的对象或者字符串中的HTML字符都会被转义,如果不让它做转义呢?
将原有的{{content}}写为{{content|safe}}
表格的奇偶css变化:一般表格的tr的class会做成交错的形式,那么在模板中可以使用语法
<tr class="{% cycle row1,row2 %}">使得tr在for循环里来回的改变class
正则表达式:之前没怎么看,不过现在发现正则表达式实在是好东东,熟练的话可以少些很多代码,而且很多时候正则表达式可以做到原先做不到的事。 这里讲个碰到的很简单的问题,比如一个博客的内容,它可能是很长的,那么在列表或者首页的时候就希望只截取前100个单词,但是又不希望它把一个单词给分开了.
那么问题就变成:寻找一个字符串s中位置大于100的第一个空字符(空格,\t,\r\n),返回到这个空字符为止的前缀子串。
复制代码
代码
import re
r = re.compile('\s') #\s代表任何空字符 match = r.search(wiki.content,100) #从wiki.content的100个字符后开始寻找匹配
if match: #如果找到,match不是空
index = match.start() #得到找到匹配的开始位置
else: #如果match是None,未找到
index = len(wiki.content) #index是就整个字符串长度 wiki.content = wiki.content[:index] + '...' #将得到的子串加上...
复制代码

  

django常见问题小结,细节容易忽视的更多相关文章

  1. Django常见问题

    1.什么是中间件? 中间件是介于request与response处理之间的一道处理过程,相对比较轻量级,并且在全局上改变django的输入与输出. 中间件一般做认证或批量请求处理,django中的中间 ...

  2. Django常见问题集

    django2.0发行文档说,django2.0最后一个支持的是python3.4+... 所以,还在用python2.7的同学只能手动指定版本下载了 pip2 install django==1.8 ...

  3. python&django 常见问题及解决方法

    0.python-dev安装(ubuntu) apt-get install  python-dev 1.Open(filename,mode) 报错实例: f = open('d:\Users\16 ...

  4. django 单元测试小结

    测试的场景 框架Django1.8 测试工具 unittest, 要记得给test设置一个独特的settings. 测试请求 也就是测试整个view部分 官方案例 其中可能会遇到登录,或者时sessi ...

  5. MySQL无法启动几种常见问题小结

    问题1:目录.文件权限设置不正确 MySQL的$datadir目录,及其下属目录.文件权限属性设置不正确,导致MySQL无法正常读写文件,无法启动. 错误信息例如: 复制代码 代码如下:[code] ...

  6. Django之小结

    常用的函数方法与包的调用 # 登陆视图函数 def login(request): if request.method == 'GET': return render(request,'login.h ...

  7. django 知识点小结

    以下内容为用django写blog中的一些知识点,权当复习. 一.定义view 1.get_object_or_404()是用get()查询数据,如果不存在就直接返回404 参数: get_objec ...

  8. Django常见问题集锦

    1. 解决pycharm终端/cmd运行python脚本报错"ImportError/ModuleNotFoundError:No Module named ..." 问题 项目结 ...

  9. Android开发常见问题小结

    1.布局文件 自己写的布局文件无得使用 原因:导入了系统的R文件 修改:将android.R 这句注释 或者删除 2.Activity作为主窗口设置 Activity无法启动,或者要设置Activit ...

随机推荐

  1. ZOJ 3778 C - Talented Chef 水题

    LINK:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3778 题意:有n道菜,每道菜需要\(a_i\)道工序,有m个锅可 ...

  2. PHP扩展--XHProf优化PHP程序

    简介 XHProf 是一个轻量级的分层性能测量分析器. 在数据收集阶段,它跟踪调用次数与测量数据,展示程序动态调用的弧线图. 它在报告.后期处理阶段计算了独占的性能度量,例如运行经过的时间.CPU 计 ...

  3. JAVA中反射机制五(JavaBean的内省与BeanUtils库)

    内省(Introspector) 是Java 语言对JavaBean类属性.事件的一种缺省处理方法. JavaBean是一种特殊的类,主要用于传递数据信息,这种类中的方法主要用于访问私有的字段,且方法 ...

  4. Web中的宽和高

    不同的宽高定义 //网页可见区域宽 document.body.clientWidth //网页可见区域高 document.body.clientHeight //网页可见区域宽(包括边线和滚动条的 ...

  5. 针对移动设备的CSS3布局

    针对移动设备的CSS3布局 一些专业人士预测五年内移动设备将击败普通电脑成为网页浏览领域的霸主,不管这个预言是否应验,让网页在移动设备上较好的显示已经成为网页设计师和开发者的重要任务,本教程学习用CS ...

  6. 成为优秀 Node.js 程序员的10个习惯

    JavaScript出现近二十年了,但由于其有些问题不能解决,使得像Python和Ruby这一类的语言很吸引人,这些问题包括命令行接口.交互式开发环境.包的管理和没有一个有组织开源社区等.幸亏Node ...

  7. laravel后台返回ajax数据

    后台模式: $array = array('msg'=>'添加失败!','status'=>'false'); return json_encode($array); 前台显示: $.aj ...

  8. Mac 下安装 ruby 环境解决 brew 安装 yarn 问题

    在brew安装yarn提示 ruby的版本过低.在网上搜了一下发现 1. mac下自带的ruby 在 system 目录下 2. 其实可以用brew安装一个ruby brew install ruby ...

  9. imperva配置文件的导入导出

    imperva配置文件的导入导出 Full_expimp.sh       //进行备份 1导入 2导出 输入密码后 1 全部导出 是否想导出失败的数据 默认密码是system的密码 输入导出的路径 ...

  10. Tslib触摸屏官网【转】

    转自:https://github.com/kergoth/tslib C library for filtering touchscreen events tslib consists of the ...