Django的小记】的更多相关文章

从前很少写单元测试了,特别是web应用.最近不知不觉喜欢起来这个事情了,发现单元测试对于软件的模块,正交性有很大促进作用,因为函数,模块写的不合理,单元测试写起来就麻烦的多呀.公司的项目一直都是用Django,所以写点django单元测试的小总结,记录为主,备查. 测试的场景 框架Django1.8 测试工具 unittest, 要记得给test设置一个独特的settings. 测试请求 也就是测试整个view部分 官方案例 其中可能会遇到登录,或者时session怎么模拟的问题 测试带有orm…
前记:Django的ORM.模块有很多函数细节,要学会多看文档学习函数的细节 聚合annotate()和aggregate()的使用 简言之,annotate()得到的是查询集,类似all(),只不过多了一列属性,annotate()新增的,例如统计每个出版社有多少本书(书外键到出版社),但是统计书的单价总和,用annotate()会给每个书记录加个总和属性,此时不如使用aggregate(),aggregate()可以配合Sum()等方法直接得出一个字典,里面是key-value. 当djan…
大致按流程列出来 在pycham中创建Django project时要确定机器上的版本及你要用的版本,机器上一般情况下默认最新版本2.1(2018年11月),根据需要下载相应版本 创建好工程后就要创建APP了,在terminal中用python manage.py startapp appname 创建APP,重点来了,要将你的APP名字添加到setting文件中INSTALLED_APPS下面 接着继续在setting中配置静态文件,在setting的最后一行即STATIC_URL = '/s…
Django是一个开放源代码的Web应用框架,由Python写成. python 中的web框架有许多例如:Django.Tornado.Flask..而Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能. Django采用了MVC的软件设计模式,即模型M,视图V和控制器C. 安装篇 01 安装Django 安装之前先确保你已经安装了python(这个就不用说了吧=.=!),并顺便瞅一眼版本对应关系,可以略过~ 0x01 L…
http://blog.csdn.net/pipisorry/article/details/46957613 python manage.py runserver已经很接近于服务器的形式,但是并不能支持外网访问或多人同时访问.因此需要将网站部署到服务器上,而django在本地使用runserver运行和部署到服务器在配置文件上是不同的. 目前比较流行的部署.运行Django应用方式是基于Apache的mod_wsgi模块. 但更加高效.弹性,同时又更加复杂的方式是使用以下工具来部署实施:Ngi…
The Python Tutorial (Python 2.7.11) 的中文翻译版本.Python Tutorial 为初学 Python 必备官方教程,本教程适用于 Python 2.7.X 系列. 在线阅读 » Fork Me » The Python Tutorial (Python 3.5.1) 的中文翻译版本.Python Tutorial 为初学 Python 必备官方教程,本教程适用于 Python 3.5.x. 在线阅读 » Fork Me » Flask 是一个轻量级的 We…
Python开源项目,期待大家和我们一起共同维护 github排名榜单 https://github.com/trending github搜索榜单:https://github.com/search 说明 以下总结大部分来至于 [TimLiu-Python] (https://github.com/Tim9Liu9/TimLiu-Python) ,欢迎大家查看原版 Feedback 期望大家随时能提出宝贵的意见(直接提交issues即可).请广大网友只按照目录结构(即使目录结构有问题)添加三方…
django urls 配置小记 首先应了解 django2.0在url的配置上较之以前的版本有点区别,在之前的版本是通过django.conf.urls.url函数来实现路径配置的 urlpatterns = [ url(r'index/',views.index), ] 在2.0版本中,通过django.urls.path函数来配置 urlpatterns = [ path("index/",views.index) ] 写法上的区别如下: url(r'^index/$',view…
嗯,咳咳咳咳咳,这是在win平台上.linux平台上没折腾 首先你要在win上安装 Memcache 下载 :点我下载 里面有x64 和 x86 的.根据自己的系统版本来选择使用   使用命令行: 1,在文件目录下 memcached -d install   2,启动服务(默认端口是11211) net start "Memcached Server" (或者services.msc进入到服务,找到memcached服务,开启即可)   为Django加上缓存 a,安装插件   b,…
最近项目做到了后台管理的部分.Django虽然提供了后台管理,但是界面不咋好看.所以我使用了suit.官网http://djangosuit.com/ 步骤: 1,安装suit 项目settings.py设置(请放在第一个,不然应用不了) Django > 1.8中,在TEMPLATES中应有红色箭头所指部分(<1.8的版本自行百度吧,就两句) 添加suit的配置文件在setting中(更多参数和设置请间官网文档) 以上suit主题配置部分就完成了.你所需要做的就是配置admin.py.这里附…
在使用Google搜索Django的SEO插件时,很多插件都没有更新到Python3.x,有的插件更新到了Python的高版本,但是不适用于Django的2.x. Django在升级到版本2.x的时候删除了很多类. 所以,在选择插件时,建议使用 django-snakeoil 1.安装: 最快捷的方法:pip install django-snakeoil 其他方法自行google,对于一个网站都开始设置SEO的时候,pip这个东西应该不会出现没有安装的问题了. 插件文档链接:https://d…
首先介绍一下相关概念 序列化器(Serializer) 1. 自定义型:  继承rest_framework.serializers.Serializer 2. 模型类型:  继承rest_framework.serializers.ModelSerializer 创建Serializer对象 构造方法:Serializer(instance=None, data=empty, **kwarg) 参数1,序列化必须传入的模型类对象 参数2,反序列化时把数据传入data 额外参数:例如contex…
1. 在django 2.0中增加了一些新的特性 更简单的URL路由语法 (Simplified URL routing syntax) admin应用的针对移动设备的优化改进(Mobile-friendly contrib.admin) 支持SQL开窗表达式(Window expressions) 第一个特性,主要用于动态路由定义上.在Django2.0代码实现中,主要的变化是新增了 django.urls.path 函数,它允许使用一种更加简洁.可读的路由语法.比如之前的版本的代码:在dja…
CSV-Comma Separated Values,CSV文件可以直接用Excel表格打开,如果用文本打开属性之间用逗号隔开,Python有直接操作CSV文件的函数. fileds字段控制“修改添加字段”时显示的条目,list_display字段控制展示的时候的显示. ModuleNotFoundError一般是使用了settings未配置的插件属性. django创建admin用户名跟密码:python3 manage.py createsuperuser.…
获取带参数URL:request.get_all_path() 获取不带参数URL:request.path 获取主机地址:request.get_host()…
ConCurrent in Practice小记 (3) 高级同步技巧 Semaphore Semaphore信号量,据说是Dijkstra大神发明的.内部维护一个许可集(Permits Set),用于发放许可和回收许可,存在内部计数器,主要用来计数能否得到资源(一般用来限制同时访问资源数).当一个线程拿到许可,计数器减一:当线程释放资源则计数器加一:当计数器为0则阻塞线程. 特别地: Semaphore的同步锁机制仅仅用于对访问许可的同步,对于需要访问对象的池等的同步锁并不保证.如一个线程池需…
Java-ConCurrent2.html :first-child{margin-top:0!important}img.plugin{box-shadow:0 1px 3px rgba(0,0,0,.1);border-radius:3px}iframe{border:0}figure{-webkit-margin-before:0;-webkit-margin-after:0;-webkit-margin-start:0;-webkit-margin-end:0}kbd{border:1p…
业精于勤荒于嬉,形成于思毁于随. 本阶段的任务小记: 简单介绍一下Django的使用,创建项目和一个app 简单介绍一下Django的settings.py文件的相关配置 整合数据库到自己的博客系统中 用Django实现一个Hello World页面 Meet Django Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design. Built…
Flask 框架小记 Flask 实例 创建示例的代码 from flask import Flask # __name__ 是模块名, 用于反射导入模块 app = Flask(__name__, import_name, static_url_path=None, static_folder='static', static_host=None, host_matching=False, subdomain_matching=False, template_folder='templates…
前段时间在Django Web平台开发中,碰到一些请求执行的任务时间较长(几分钟),为了加快用户的响应时间,因此决定采用异步任务的方式在后台执行这些任务.在同事的指引下接触了Celery这个异步任务队列框架,鉴于网上关于Celery和Django结合的文档较少,大部分也只是粗粗介绍了大概的流程,在实践过程中还是遇到了不少坑,希望记录下来帮助有需要的朋友. 一.Django中的异步请求 Django Web中从一个http请求发起,到获得响应返回html页面的流程大致如下:http请求发起 --…
书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:祝大家新年快乐,这次带来<Django By Example>第四章的翻译,这章非常的实用,就这样) 第四章 创建一个社交网站 在上一章中,你学习了如何创建站点地图(sitemaps)和feeds,你还为你的blog应用创建了一个搜索引擎.在本章中,你将开发一个社交应用.你会为用户创建一些功能,例如:登录,登出,编辑,以及重置他们…
首先,场景是这样的:存在两个django web应用,并且两个应用存在一定的联系.某些情况下彼此需要获取对方的数据. 但是我们的应用肯经都会有对应的鉴权机制.不会让人家随随便便就访问的对吧.好比上车要刷卡(滴,老人卡~~~).我们知道在浏览器用户登陆后,每次请求都会对应的session,server可以根据对用的session判断用户的权限信息.但是我们不容易在server端使用,可能存在session失效时间等问题. 所以动手查看django官方文档,发现django提供remote user…
继上一篇<Mysql事务探索及其在Django中的实践(一)>交代完问题的背景和Mysql事务基础后,这一篇主要想介绍一下事务在Django中的使用以及实际应用给我们带来的效率提升. 首先贴上Django官方文档中关于Database Transaction一章的介绍:https://docs.djangoproject.com/en/1.9/topics/db/transactions/. 在Django中实现事务主要有两种方式:第一种是基于django ORM框架的事务处理,第二种是基于原…
前言 很早就有想开始写博客的想法,一方面是对自己近期所学知识的一些总结.沉淀,方便以后对过去的知识进行梳理.追溯,一方面也希望能通过博客来认识更多相同技术圈的朋友.所幸近期通过了博客园的申请,那么今天就开始第一篇随笔,来开始记录自己的学习点滴. 问题背景 本人最近在用python的Web开发框架Django开发一个平台,平台的数据库用的是远程的Mysql (RDS),出于对数据库信息的安全考虑,对访问数据库的ip作了限制.因此,我们是通过在服务器上用轻量级的python Web框架Flask搭建…
书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:第三章滚烫出炉,大家请不要吐槽文中图片比较模糊,毕竟都是从PDF中截图出来的,有点丢像素,大致能看就行- -,另外还是渣翻,但个人觉的比前两章翻译的稍微进步了那么一点点- -,希望后面几章翻译的越来越溜,就这样) 第三章 扩展你的blog应用 在上一章中我们学习了表单的基础和在你的项目集成第三方的应用.这一章将会覆盖以下内容: 创建…
书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:翻译完第一章后,发现翻译第二章的速度上升了不少,难道这就是传说中的经验值提升了?) 第二章 使用高级特性来优化你的博客 在上一章中,你创建了一个基础的博客应用.现在你将要改造它成为一个功能更加齐全的博客,利用一些高级的特性例如通过email来分享帖子,添加评论,给帖子打上tag,检索出相似的帖子.在本章中,你将会学习以下几点: 使用…
书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:本人目前在杭州某家互联网公司工作,岗位是测试研发,非常喜欢python,目前已经使用Django为公司内部搭建了几个自动化平台,因为没人教没人带,基本靠野路子自学,走过好多弯路,磕磕碰碰一路过来,前段时间偶尔看到<Django By Example>这本书,瞬间泪流满面,当初怎么没有找到这么好的Django教程.在看书的过程中不知…
一.Django 简介 Django 是一个由 Python 写成的开放源代码的 Web 应用框架.它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是 CMS(内容管理系统)软件.并于2005年7月在 BSD 许可证下发布.这套框架是以比利时的吉普赛爵士吉他手 Django Reinhardt 来命名的.由于 Django 的是在一个快节奏的新闻编辑室环境下开发的,它的目的是使常见的 Web 开发任务,快速和容易. MTV 模式 Django 采用了 MTV 设计模式…
Paste.deploy 与 WSGI, keystone 小记 名词解释: Paste.deploy 是一个WSGI工具包,用于更方便的管理WSGI应用, 可以通过配置文件,将WSGI应用加载起来. keystone 是 openstack的各模块之间调用时候采取的认证,主要方式是在WSGI接口下增加filter,对调用者做身份验证. Paste.deploy 详细介绍: paste.deploy 通过 loadapp(configPath)来启动WSGI应用, 其中configPath 包含…
前言 参考上篇博文,我们利用了OneToOneField的方式使用了django自带的user,http://www.cnblogs.com/caseast/p/5909248.html , 但这么用有个问题,就是每次增删改查数据,因为有外键的存在都要查询两次(当然可以用select_related方式减少查询次数,参考: Django models对象的select_related方法(减少查询次数) ),另外在admin中需要维护2张表,先创建User,再在UserProfile中进行关联操…