django常见问题小结,细节容易忽视
- 中文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常见问题小结,细节容易忽视的更多相关文章
- Django常见问题
1.什么是中间件? 中间件是介于request与response处理之间的一道处理过程,相对比较轻量级,并且在全局上改变django的输入与输出. 中间件一般做认证或批量请求处理,django中的中间 ...
- Django常见问题集
django2.0发行文档说,django2.0最后一个支持的是python3.4+... 所以,还在用python2.7的同学只能手动指定版本下载了 pip2 install django==1.8 ...
- python&django 常见问题及解决方法
0.python-dev安装(ubuntu) apt-get install python-dev 1.Open(filename,mode) 报错实例: f = open('d:\Users\16 ...
- django 单元测试小结
测试的场景 框架Django1.8 测试工具 unittest, 要记得给test设置一个独特的settings. 测试请求 也就是测试整个view部分 官方案例 其中可能会遇到登录,或者时sessi ...
- MySQL无法启动几种常见问题小结
问题1:目录.文件权限设置不正确 MySQL的$datadir目录,及其下属目录.文件权限属性设置不正确,导致MySQL无法正常读写文件,无法启动. 错误信息例如: 复制代码 代码如下:[code] ...
- Django之小结
常用的函数方法与包的调用 # 登陆视图函数 def login(request): if request.method == 'GET': return render(request,'login.h ...
- django 知识点小结
以下内容为用django写blog中的一些知识点,权当复习. 一.定义view 1.get_object_or_404()是用get()查询数据,如果不存在就直接返回404 参数: get_objec ...
- Django常见问题集锦
1. 解决pycharm终端/cmd运行python脚本报错"ImportError/ModuleNotFoundError:No Module named ..." 问题 项目结 ...
- Android开发常见问题小结
1.布局文件 自己写的布局文件无得使用 原因:导入了系统的R文件 修改:将android.R 这句注释 或者删除 2.Activity作为主窗口设置 Activity无法启动,或者要设置Activit ...
随机推荐
- 你必须了解Spring的生态
Spring不止是提供了IOC.AOP的功能,还提供了大量的基于Spring的项目,拿来用就行了,用于一站式开发,大大降低了开发的难度. 下面列举下主要的一些Spring的生态项目: Spring B ...
- 使用TortoiseGit时如何实现SSH免密码登录
1. Git配置 连接GIT服务器使用的是SSH连接,因此无密码登录,需要使用公钥和私钥. 1) 生成公钥/私钥 在Git Shell中输入ssh-keygen命令,直接回车使用默认 ...
- HDU 2044 Coins
有一只经过训练的蜜蜂只能爬向右侧相邻的蜂房,不能反向爬行.请编程计算蜜蜂从蜂房a爬到蜂房b的可能路线数. 其中,蜂房的结构如下所示. Input输入数据的第一行是一个整数N,表示测试实例的个数,然 ...
- 服务器端包含 SSI简介
服务器端包含 SSI,是英文 Server Side Includes的简写.SSI是一种可以指挥服务器动态声称网页内容的HTML指令. 通常SSI可以用来确保网页中的一些通用内容,比如版权信息.联系 ...
- 日常开发技巧:x11-forward,使用远程机器的gui程序
背景 日常用过ssh登录服务器进行工作,尽管大部分时间,都只需要终端操作,编辑源码也是vim就够用了. 但有时候,还是需要使用gui程序的,比如打开一份pdf,word,ppt,excel等. 碰到这 ...
- C++之C/C++内存对齐
一.什么是字节对齐,为什么要对齐 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特 定的内存地址访问,这 ...
- 新装linux系统最基本设置
1,dns设置:vi /etc/resolv.conf 添加内容:nameserver 8.8.8.8 2,vi设置: vi ~/.bashrc 添加内容:alias vi='vim': 然后执 ...
- 【BubbleCup X】F:Product transformation
按照题解的规律,首先能看出前面每个数幂次的性质. 然后发掘约数的性质 #include<bits/stdc++.h> ; typedef long long ll; using names ...
- html的loadrunner脚本2
Action(){ char buf[1911]; //¶¨Òå×Ö·ûÊý×飬Ö÷ÒªÓÃÓÚдÈëXML±¨Îĵ½»º³åÇø char str_Body[4086]; //³Ð½Ó±¨Î ...
- SilverLight高亮显示文本
文笔不好,就长话短说,就是想实现这样的效果,比如在成都二环路南一段一号附一号凤舞九天网吧 ,搜索 二环路 九天网吧 然后结果中高亮显示. <local:TextBlockHighLight Te ...