Django 2.0 学习(11):Django setuptools】的更多相关文章

应用打包 当前状态的Python包与各种工具有点儿混乱,本结我们将学习使用setuptools来构建应用包.该工具是强烈推荐使用的打包工具,之后我们也会使用pip去安装和卸载它. Python打包指的是将应用准备成一种特殊的格式,该格式的应用容易安装和使用.Django自身就是被打成非常像这样的包,作为像polls这样小的应用,这个过程并不困难. 1.首先,在Django项目外层目录,为polls创建一个父目录,给该目录取名django-polls.当我们为应用命名时,在PyPI资源中检查下,避…
接Django 2.0 学习(06):Django 视图(进阶),我们将聚焦在使用简单的表单进行处理和精简代码. 编写简单表单 我们将用下面的代码,来替换之前的detail模板("polls/detail.html"): <h1>{{ question.question_text }}</h1> {% if error_message %}<p><strong>{{ error_message }}</strong></…
数据库设置/配置 打开mysite/settings.py,我们会发现Django是用的是默认的数据库SQLite,如下图所示: Django也是支持其它数据库的,比如PostgreSQL.MySQL.Oracle等数据库,如果我们想是用其他数据库,只需要安装对应的数据库并且更改settings.py文件中DATABASES项就可以实现,具体参考数据库设置. ENGINE:数据库引擎,可选择的值有"django.db.backends.sqlite3","django.db.…
Django 分页器 要使用Django实现分页功能,必须从Django中导入Paginator模块(painator - 分页器) views.py from django.shortcuts import render from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger from BookSite.models import * def index(request): """ 批…
Django django是基于MTV结构的WEB框架 Model 数据库操作 Template 模版文件 View 业务处理 在Python中安装django 2.0 1 直接安装 pip install django 2 .whl文件安装 pass 创建第一个Django 项目 命令行模式: 在python的安装目录下的Scripts 文件夹下 运行django-adming command或终端输入如下: django-admin.exe startproject mycite 这样就创建…
Django 模板语法 一.模板 只要是在html里面有模板语法就不是html文件了,这样的文件就叫做模板. 二.模板语法 模板语法变量:{{ }} 在Django模板中遍历复杂数据结构的关键是句点字符 .(其实就是点号) views.py from django.shortcuts import render def index(request): name = "Hello world!" number = 101 lst = [1, 2, 3, 4, 5] dic = {&quo…
编写我们的第一个测试 确定bug 幸运的是,在polls应用中存在一个小小的bug急需修复:无论Question的发布日期是最近(最后)的日期,还是将来很多天的日期,Question.was_published_recently()方法都会返回True.使用下面的代码对其进行验证: >>> import datetime >>> >>> from django.utils import timezone >>> from polls.…
概述 Django中的特方法,该方法代表了Django的Web页面,并且视图具有特定的模板.以博客应用为例进行说明,在博客应用中应该包含下面的视图: 博客主页:显示最近的一些记录: 详细页面:单个详细页面的入口: 年/月/日:存档页面,显示记录的所有年/月/日: 评论动作:分发评论请求到对应入口: 在poll应用中,我们将会创建如下视图: Question "index"页面:显示最近的questions: Question "detail"页面:显示问题内容,没有…
接上篇博文,继续分析Django基本流程. 编写第一个(view)视图函数 1.打开文件polls/views.py,输入下面的Python代码: from django.http import HttpResponse def index(request): return HttpResponse("Hello World! You're at the polls index.") 2.上面是一个最简单的Django视图函数,为了调用这个视图函数,我们需要为它做一个URL映射:在目录…
Django(Python Web框架) Django是一个开放源代码的Web框架,用Python写的.采用了MTV的框架模式,即模型M,模板T和视图V.它最初被开发是用来管理以新闻内容为主的网站,即是CMS(内容管理系统)软件.并于2005年7月在BSD许可证下发布. Django是一个基于MVC构造的框架,但是在Django中,控制器接受用户输入的部分由框架自行处理,所以Django里更关注的是模型(Model).模板(Template)和视图(Views),成为MTV模式.他们各自的责任如…
Django模板继承和静态文件 模板继承(extend) Django模板引擎中最强大也是最复杂的部分就是模板继承了,模板继承可以让我们创建一个基本的"骨架"模板,它可以包含网页中的全部元素,并且可以定义能够被子模板覆盖的blocks.为了容易理解模板继承,我们先写一个模板: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8">…
定制化admin表单 通过使用admin.site.register(Question)注册Question模型,Django可以构造默认的表单.通常,可以通过对象的注册机制来告诉Django我们想要注册的选项,来定制化admin表单. 让我们通过重新排列表单的字段来看看它是如何工作的,打开polls/admin.py文件,使用如下代码替换admin.site.register(Question): from django.contrib import admin from .models im…
Django ORM数据库操作(下) 一.增加表记录 对于表单有两种方式: # 方式一:实例化对象就是一条表记录france_obj = models.Student(name="海地", course="Python", birth="2000-10-1", grade=90) france_obj.save() # 方式二: models.Student.objects.create(name="海地", course=&…
Web框架的本质 对于学习Python的同学,相信对Flask.Django.Web.py等不会陌生,这些都是Python语言的web框架.那么问题来了,web服务器是什么?它和web框架有什么关系?它们又是如何工作的?有的时候人们会把HTTP服务器叫做web服务器,这是为什么?我们今天就来聊聊这些,争取让大家对web开发有个清晰的认识. web服务器 平时我们都是通过浏览器(Chrome.Firefox)来访问网站的,当我们在浏览器的地址栏输入地址后,会得到一个网页.这个网页就是web服务器返…
1.for author in Author.objects.all(): for book in author.book_set.all(): print   book 2.vim blog/views.py from blog.models  import Author,Book from  django.shortcuts   import  render_to_response def show_author(req): authors = Author.objects.all() re…
接上篇博文,接下来我们以具体代码例子来说明Django的基本流程. 创建项目 使用Win+R,输入cmd进图windows命令行模式: 再你想要存放项目工作的磁盘,输入下面命令: django-admin startproject mysite # 项目名字 注:这里的项目名字不能与Pyhton或者Django的组件或者模块冲突,比如:django.test这些项目名称都是会冲突的. 进入刚才创建的项目目录,看看Django为我们创建了些什么,可以使用下面命令查看: tree . /F 其结果如…
Django 缓存.信号和extra Django 缓存 由于Django是动态网站,所以每次请求均会去数据库进行相应的操作,当程序访问量大时,耗时必然会显著增加.最简单的解决方法是:使用缓存,缓存将某个views的返回值保存在内存或者redis/memcache中,短时间内再次访问该网页时,不再去执行viwes中的操作,而是直接从内存或缓存数据库中获取内容,并返回. Django中提供了6种缓存方式: 开发调试 内存 文件 数据库 Memcache缓存(python-memcached模块)…
Django ORM 数据库操作(上) ORM介绍 映射关系: 数据库表名 ---------->类名:数据库字段 ---------->类属性:数据库表一行数据 ---------->类实例化对象: ORM两大功能: 操作表:创建.修改.删除表: 操作数据:增删改查: ORM利用pymysql第三方工具连接数据库,Django无法帮助我们创建数据库,只能我们创建完成后告诉它,让Django去连接: 创建表之前的准备工作 1.自己创建数据库: 2.在settings.py文件中配置mys…
Django Admin 站点的管理者,而非访问者. 创建admin用户 首先,执行下面命令: python manage.py createsuperuser 其次,输入用户名和密码: Username:admin 在输入用户名之后,会提示输入邮箱地址,随便输入即可: Email address:admin@example.com 最后,输入密码(最好使用数字和字符的组合,不然会被提示密码过于简单): Password: ********** Password (again): *******…
Django CSRF CSRF攻击过程 攻击说明: 1.用户C打开浏览器,访问受信任网站A,输入用户名和密码请求登陆网站A: 2.在用户信息通过验证后,网站A产生Cookie信息并返回给浏览器,此时用户登陆网站A成功,可以正常发送请求到网站A: 3.用户未退出网站A之前,在同一浏览器中,打开一个TAB页访问网站B: 4.网站B收到用户请求后,返回一些攻击性代码,并发出一个请求,要求访问第三方站点A: 5.浏览器在接收到这些攻击性代码后,根据网站B的请求,在用户不知情的情况下携带Cookie信息…
Django Session Session 与Cookie 1.简介 1.Cookie不属于http协议范围,由于http协议无法保持状态,但实际情况,我们又需要"保持状态",因此Cookie就在这样一个场景下诞生.Cookie的工作原理:由服务器产生内容,浏览器收到请求后保存在本地:当浏览器再次访问时,浏览器会自动带上Cookie,这样服务器就能通过Cookie的内容来判断这个是"谁"了: 2.Cookie虽然在一定程度上解决了"保持状态"的…
Django 中间件详解 Django中间件 在Django中,中间件(middleware)其实就是一个类,在请求到来和结束后,Django会根据自己的规则在合适的时机执行中间件中相应的方法. 1.执行完所有的request方法到达执行流程: 2.执行中间件的其他方法: 3.经过所有response方法,返回客户端: 注意:如果在其中任意中间件中request方法return了值,就会执行当前中间件的response方法,返回给用户,然后抛出错误,不会再执行下一个中间件. Django 1.9…
Django 用户认证(auth模块) 一.认证登陆 在进行用户登陆验证的时候,如果是自己写代码,就必须要先查询数据库,看用户输入的用户名是否存在于数据库中:如果用户存在于数据库中,然后再验证用户输入的密码,这样一来就需要自己编写大量的代码.实际上,Django已经提供了内置的用户认证功能.在使用"python manage.py makemigrations"和"python manage.py migrate"迁移完成数据库之后,根据配置文件"sett…
应用的定制化:静态文件 首先,在polls目录中创建一个名叫static的目录.Django会在该目录里面查找静态文件,类似于Django在polls/template目录下查找模板文件. Django的静态文件查找器配置包含了一系列的查找器,这些查找器知道如何从不同的源文件中查找静态文件.默认的AppDirrectoriesFinder查找器,会在每个INSTALLED_APPS中查找"static"子目录,就像我们刚才在polls创建的. 在static目录中,创建polls目录,…
Django 2.0官方文档中文 渣翻 总索引(个人学习,欢迎指正) 置顶 2017年12月08日 11:19:11 阅读数:20277 官方原文: https://docs.djangoproject.com/en/2.0/ 当前翻译版本: v2.0 Python版本要求: v3.4+ (译者注:本人目前在南京一家互联网公司工作,职位是测试开发工程师.因为测试工作中经常会用到编码语言,如Python.Java.Shell等,所以几年前萌生了对Python语法的学习.Django作为Python…
经过这几天的折腾,经历了Django的各种报错,翻译的内容虽然不错,但是与实际的版本有差别,会出现各种奇葩的错误.现在终于找到了解决方法:查看英文原版内容:http://djangobook.com/ 加入你使用的是CentOS系统或者Mac,默认版本是2.X,请及时更新版本到3.X 书中是这么说的: You can see that, and Python to be installed. If your system . 对于没有经验的人来说,使用python2.7 ,这是一个陷阱! Dan…
在使用Django2.2开发的时候,想要使用mysql数据库,在settings.py文件中更改命令: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'python', 'USER': "root", 'PASSWORD': "yhr2323214310", 'HOST': '', 'PORT': '' }} 再安装好pymysql,然后在__init__.py文件中…
搭建Django2.0+Python3+MySQL5时同步数据库时报错:django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.3 or newer is required; you have 0.7.11.None解决办法:找到Python安装路劲下的Python36-32\Lib\site-packages\django\db\backends\mysql\base.py文件将文件中的如下代码注释 if version < (…
把数据存取逻辑.业务逻辑和表现逻辑组合在一起的概念有时被称为软件架构的 Model-View-Controller (MVC)模式.在这个模式中, Model 代表数据存取层,View 代表的是系统中选择显示什么和怎么显示的部分,Controller 指的是系统中根据用户输入并视需要访问模型,以决定使用哪个视图的那部分. 由于 C 由框架自行处理,而 Django 里更关注的是模型(Model).模板(Template)和视图(Views),Django 也被称为 MTV 框架 .在 MTV 开…
这个系列(或者成不了一个系列..)预计会全程参考Vamei様的Django系列,膜一发.说句题外话,其实更加崇拜像Vamei那样的能够玩转生活.各个领域都能取得不小成就的人. [Django] ■ 概述 Django久闻大名,是Python中最为有名的Web框架之一了.相比于其他框架,D的特点就是提供了各种各样的组件,重量级,可以解决很多很多问题.让Web编程一简再简.之前一直都学习使用Flask,不否认Flask有其有点,但是一个很大的不方便的地方在于,Flask的扩展没有统一的标准而且开放,…