Django开发中使用South进行数据库迁移的使用总结 South的详细资料可产看官方文档http://south.readthedocs.org/en/latest South安装配置 pip install south 安装成功之后,修改django项目中的settings.py文件, 在INSTALLED_APPS中追加 ‘south’, 然后重新执行: ./manage.py syncdb 去创建South迁移跟踪表. 创建初始版本信息 一个new app(还未创建数据库表),在写好其…
首先我们先来了解下浏览器的缓存 浏览器缓存机制 Cache-control策略 Cache-Control与Expires的作用一致,都是指明当前资源的有效期,控制浏览器是否直接从浏览器缓存取数据还是重新发请求到服务器取数据.只不过Cache-Control的选择更多,设置更细致,如果同时设置的话,其优先级高于Expires. 还是上面那个请求,web服务器返回的Cache-Control头的值为max-age=300,即5分钟(和上面的Expires时间一致,这个不是必须的). Last-Mo…
django开发中关于外键设置 我们建模型的时候会用到ForeignKey 而由于外键的约数会导致一些保存 所有我们ctrl+左键进入源码 源码 def __init__(self, to, on_delete=None, related_name=None, related_query_name=None, limit_choices_to=None, parent_link=False, to_field=None, db_constraint=True, **kwargs): 我们要把源码…
怎样实现了捕获应用中的日志在android开发中,大家可研究一下. Process mLogcatProc = null; BufferedReader reader = null; try { mLogcatProc = Runtime.getRuntime().exec(new String[] {"logcat", "-d", "AndroidRuntime:E [Your Log Tag Here]:V *:S" }); reader =…
from:http://stackoverflow.com/questions/699468/python-html-sanitizer-scrubber-filter 通过下面这个代码就可以把内容过滤成干净的HTML内容,说明,这个代码来自上面Stackoverflow的回答 Use lxml.html.clean! It's VERY easy! from lxml.html.clean import clean_html print clean_html(html) <html> <…
在Django中,ORM的任务是模型化数据库. 创建数据库其实是由另一个系统负责的叫做迁移. 迁移的任务是根据你对models.py文件的改动情况,添加或删除表和列. 可以把迁移想象成数据库使用的版本控制系统,后面会看到,把应用部署到线上服务器审计数据库时,迁移十分有用. 现在只需要知道如何创建第一个数据库迁移,使用makemigrations命令创建迁移: # python manage.py makemigrations Migrations for 'lists': lists/migra…
admin用户非交互式创建: echo "from django.contrib.auth.models import User; User.objects.create_superuser('myadmin', 'myemail@example.com', 'hunter2')" | python manage.py shell 依赖auth.user的数据库迁移: python manage.py migrate auth python manage.py migrate 参考资料…
开发环境:Ubuntu16.04+Django 1.11.9+Python2.7 一:使用自定义函数输出日志到log文件: import time def print_log(log): file_obj = open('/tmp/filename.log', 'a+') log_time = time.strftime( '[%Y-%m-%d %H:%M:%S]', time.localtime( time.time())) # 转化时间格式 file_obj.write("%s\n"…
1. 关于csrf错误 CSRF(Cross-site request forgery)跨站请求伪造,也被称为“one click attack”或者session riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用. django中自带了防止CSRF攻击的手段,在form表单的action属性中,GET时不需要CSRF认证,而POST时需要. 一般而言,有两种解决办法: ① 启用csrf认证 • 在settings.py中启用中间件django.middleware.csrf…
1.设计表时,尽量少使用外键,因为外键约束会影响插入和删除性能: 2.使用缓存,减少对数据库的访问: 3.在 orm 框架下设置表时,能用 varchar 确定字段长度时,就别用 text: 4.可以给搜索频率高的字段属性,在定义时创建索引: 6.如果一个页面需要多次连接数据库,最好一次性取出所有需要的数据,减少对数据库的查询次数: 7.若页面只需要数据库里某一个两个字段时,可以用 QuerySet.values(): 8.在模板标签里使用 with 标签可以缓存 Queryset的查询结果.…
Django框架中logging的使用 日志是我们在项目开发中必不可少的一个环节,Python中内置的logging已经足够优秀到可以直接在项目中使用. 本文介绍了如何在DJango项目中配置日志. Django框架中的logging使用 Django中日志配置项 在Django项目的settings.py文件中添加如下配置项: BASE_LOG_DIR = os.path.join(BASE_DIR, "log") LOGGING = { 'version': 1, 'disable…
这里使用的highchart是2014-01-09从官网下载的版本,版本号是3.0.8, 当过了几天后,发现版本号变成了3.0.9,不由得的感叹highchart的版本更新之快. 在jsp中使用highchart的步骤: 第一步:引入highchart必需的js文件 <! -- jquery的js要在引入highchart插件的js之前引入 --> <script src="<%=basePath%>js/Highcharts3.0.8/jquery-1.8.3.j…
仅仅是个人学习的过程,发现有问题欢迎留言 一.celery 介绍 celery是一种功能完备的即插即用的任务对列 celery适用异步处理问题,比如上传邮件.上传文件.图像处理等比较耗时的事情 异步执行,这样用户不需要等待很长的时间,提高用户的体验 celery是由python语言编写的,但是可以使用于许多语言,比如js.PHP等 二.celery的特点: 简单,易于使用和维护,有丰富的文档 高效,单个的celery进程每分钟可以处理数百个任务 灵活,celery中几乎每个部分都可以有自己的拓展…
近几年来,SEO在国内得到了蓬勃的发展,其中很多的SEO技术越来越体现在web前端的一些细节上.要做好SEO,WEB前端这一块也要做必不可少的优化. 这就要求我们WEB前端工程师在开发页面的时候,要写出规范标准的代码,符合SEO,做好用户体验. 以下是一些零度逍遥在平时工作中总结的一些前端开发中的SEO注意点,其实很多也是前端的基础知识,仅供大家参考. 1.网站布局要做到样式与页面分离,删除页面中不必要的标签和元素. 2.页面生成要尽量小,要压缩页面的大小,页面尽量使用静态或伪静态. 3.所有的…
React项目部署中遇到的问题 react开发中react-route使用BrowserRoute路径在iis服务器上刷新时报404的问题 解决:在发布的项目根目录添加web.config配置文件 在配置文件中system.webServer节点中加入 <rewrite>       <rules> <rule name="Rewrite Text Requests" stopProcessing="true"> <matc…
原文:http://www.iteye.com/news/28697 Django是一款高级的Python Web框架,可以帮助开发者快速创建web应用.我们这里整理了15款Django开发中常用的软件包,学会使用它们可以节省大量开发时间,提高开发效率.同时,也给出了它们的pip安装方法.下面一起来看下. 一.认证和授权 1. Python social auth 一款社交账号认证/注册机制,支持Django.Flask.Webpy等在内的多个开发框架,提供了约50多个服务商的授权认证支持,如G…
数据库迁移 在开发过程中,需要修改数据库模型,而且还要在修改之后更新数据库.最直接的方式就是删除旧表,但这样会丢失数据. 更好的解决办法是使用数据库迁移框架,它可以追踪数据库模式的变化,然后把变动应用到数据库中. 在Flask中可以使用Flask-Migrate扩展,来实现数据迁移.并且集成到Flask-Script中,所有操作通过命令就能完成. 为了导出数据库迁移命令,Flask-Migrate提供了一个MigrateCommand类,可以附加到flask-script的manager对象上.…
我们在基于django开发项目的过程中,经常会遇到数据库表字段增加,删除,或者修改的情况,以及字段属性更改的情况,因为django基于ORM模式来操作数据库的, 传统上如果django项目中的数据库model信息变更以后,我们会根据相应的变更信息手动去数据库里进行修改,比如:在project(项目)模板中添加了一个age的字段, 我们会 去数据库中相应的手动添加age字段信息,并且在数据库添加的age字段其字段属性与model中的age字段属性应保持一致,否则就会不报错,这样操作起来繁杂,效率不…
首先说一下我遇到这个情况的代码情景,首先上错误代码 UserInfo userInfo = Session["UserInfo"] as UserInfo; ); 这段代码所呈现的问题正如题目,数据库值变化,前台页面并不变化,刷新也不变化,重新运行程序则变化. 断点调试----看到无论如何更新,查出来的attentionTopicInfos的内容也没有任何变化. 最后想到----userInfo是从Session中取出的,session储存的用户登录信息,内容并不查询更新. 而我们所需…
以下问题都是自己在开发中亲身碰到的 ,在这里留个备份,方便下次查阅. 1.java.lang.IllegalStateException ,Cannot execute task: the task has already been executed (a task can be executed only once) 非法执行异常,大致是说这个任务已经执行过了,只能执行一个任务 解决:重新new一个任务执行即可.  之前是一开始就初始化任务类 ,在需要执行的地方再用实例对象execute执行…
最近博客写的少了,以后还得经常更新才行. ------------------------------------------------------------ 1.特定业务需求下try cath 异常需要catch可能的RuntimeException,否则可能出现catch不全导致的意外问题(如app崩溃). 之所以将此问题放在第一位,是因为前阵子中项目中出现了此类情况,并且这种情况很容易不注意或遗忘,但其错误却是致命的. 在Java/Android开发中,当调用一个函数时,此函数抛出一个…
摘自 http://blog.csdn.net/pony12/article/details/38456261 java开发中遇到的问题及解决方法(持续更新) 工作中,以C/C++开发为主,难免与其他服务和Web进行交换,Java开发必不可少,又不想动用Eclipse大家伙,只能自己动手编写脚本进行Java代码的编译和运行,期间遇到的一些问题,记录下来供自己和大家参考.1)软件包不存在/软件包 javax.jms 不存在    这是由于javac编译时找不到javax.jms所在的软件包,因此将…
在Ubuntu 18.04 安装 python3.pip3.pycharm,搭建 Django 开发环境. 1.安装 python3 pip3 sudo apt-get install python3 sudo apt-get install python3-pip 2.安装 pycharm 在官网中下载 pycharm 压缩包,在 ubuntu 中解压,进入解压后文件夹中的 bin 目录,使用以下语句执行: ./pycharm.sh…
这篇文章用来收集Android开发中常用的库,都是实际使用过的.持续更新... 1.消息提示的小红点 微信,微博消息提示的小红点. 开源库地址:https://github.com/stefanjauker/BadgeView 使用示例: BadgeView badge = new BadgeView(getActivity()); badge.setTargetView(myView); badge.setBadgeCount(42);…
1.更高效率地查询:使用批量查询代替 foreach 查询(多次 io 操作转换为一次 io操作) 如果想要查看更详尽的介绍,可以看看这篇文章 什么是 N+1 问题,以及如何解决 Laravel 的 N+1 问题? 在维护的项目中, 我发现了有不少需要查询关联数据的时候是这样做的:先查询出列表,然后 foreach 列表去查询列表每一条记录的关联数据,好比如这样: $products = \DB::table('product')->where('category_id', 1)->pagin…
Python测试开发中Django和Flask框架 为了更好地阐述这个问题,我们把开发一个应用的过程进行类比,往往开发一个应用(web应用.系统应用)跟建造房子的过程一样,需要先打地基,搭好骨架,然后一块砖一块砖叠上去. 而开发一个应用呢? 同样也需要一个好的架构设计,数据库建模,然后一个模块一个模块使用代码实现. 如果开发一个软件应用不使用框架,和我们建房子时,每一块砖.每一根钢筋都需要自己生产出来本质上是一样的. 显而易见,如果在建造房子之前,每一块砖头.每一种建材,都需要我们自己去生产的话…
本文记录分享一些在日常开发中经常遇到的一些问题的解决方案及常用小技巧,如有错误之处还请批评指正.CSS相关:1.如何修改chrome记住密码后自动填充表单的黄色背景? input:-webkit-autofill, textarea:-webkit-autofill, select:-webkit-autofill { background-color: #FFF; background-image: none; color: #333; } 2.鼠标选中文本时添加背景色 <style> p:…
1.Eclipse项目中的Android Private Libraries没有自动生成. 一般而言,在Android开发中,项目中引用到的jar包会放到项目目录中的libs中,引入库会放到Android Dependencies中,对于放置于libs中的jar包,会自动置于项目中的Android Private Libraries下,如果没有自动生成,clean项目后一般在console下会发现有相应的错误提示,修正即可.如:项目中引用了不同的v4兼容包等会出现此类情况. 2.Eclipse中…
在实际开发中总是遇到莫名其妙的问题~~~那么就记录下来这些问题,对这些问题进行一个总结. 1.事件对象 1)事件参数e,就是事件对象,标准的获取方式 2)e.eventPhase 事件阶段,IE8以前不支持 3)e.target 始终是触发事件的对象(点击的按钮)         i)IE8以前 srcElement         ii)浏览器兼容 // 获取事件对象 兼容浏览器 getEvent: function(e) { return e || window.event; // e事件对…
djang开发中git flow使用总结 初次接触可以先看看此链接上关于git flow的东西http://danielkummer.github.io/git-flow-cheatsheet/index.zh_CN.html git flow init 由于第一次使用, 在 git flow init 初始化git库时, 不知道如何操作, 初始化失败,以至于后来再初始化时总是提醒我一个fatal. git flow feature 利用 git flow feature start  your…