Django学习笔记

定义:Django是一个基于python的高级Web开发框架,高效快速开发,高度集成,免费开源。

浏览器响应过程:输入URL->浏览器向网站服务器发送HTTP请求->服务器处理请求->返回HTTP响应(HTML文档)->浏览器解析展现

浏览器基本原理:
1、本质是网络通信;
2、浏览器通过通信获取页面的源代码文档(HTML等);
3、浏览器解析文档展现给用户

安装Python
Windows:Python官网下载对应MSI文件(低于Python2.7版本不兼容Django), MAC及Linux自带
安装Django
方法一:pip install Django==1.10.5   //windows在安装Python时已经默认安装pip
方法二:下载源码解压后,进入目录执行python setup.py install
清理cmd屏幕命令:cls
查看文件夹目录:dir
确认Django安装成功
1、python -m django --version 返回Django版本号
2、进入python解析器,import django,不报错

Django编辑器推荐 Pycharm、Sublime Text,Atom

创建项目: 打开命令行->进入想要安置项目目录->输入:django-admin.startproject myblog(项目名)
项目目录介绍:
1、wsgi.py(Python Web Server Gateway Interface Python服务器网管接口):Python应用与Web服务器之间的接口
2、urls.py:URL配置文件,Django项目中所有地址(页面)都需要配置URL
3、settings.py:项目的总配置文件,包含项目根目录、安全码、数据库、Debug调试、web应用、时间等配置。
4、__init__.py:一般为空,有此可直接调用该模块

启动Django自带服务器: pythton mange.py runserver  9999 (默认8000端口,如后加端口号进行自定义)
项目创建没问题后,可用Pycharm打开项目

创建应用:打开命令行->进入项目中mange.py同级目录->输入:python manage.py startapp blog(应用名)->添加应用名到settings.py中INSTALLED_APPS里
应用目录介绍:
1、migrations:数据移植(迁移)模块,内容自动生成
2、admin.py:当前应用的后台管理系统配置
3、apps.py:当前应用的一些配置,Django-1.9以后自动生成
4、models.py:数据模块、使用ORM框架、类似MVC结构中Models(模型)
5、test.py:自动化测试模块,在这里编写测试脚本(语句),Django提供自动化测试功能
6、views.py:执行响应的代码所在的模块,代码逻辑处理的地点,项目中大部分代码均在这里

创建页面响应:
1、每个响应对应一个函数,函数必须返回一个响应;
2、函数必须存在一个参数,一般约定为request
3、每一个响应(函数)对应一个URL

配置URL:
1、每个URL都以url的形式写出来
2、url函数放在urlpatterns列表中
3、url函数三个参数:URL(正则),对应方法、名称(可空缺)
url(r'^index/$',bv.index)  正则表达式:^以…开头,$以…结尾、/不能忘

URL配置包含其他URL配置方法:
在根urls.py中引入include->在APP目录下创建urls.py,格式与跟urls.py相同->根urls.py中url函数第二个参数改为include('blog.urls')
注:跟urls.py针对APP配置的URL名称,是该APP的所有URL的总路径

Templates:HTML文件、使用了Django模板语音(Django Template Language,DTL)、可以使用第三方模板(如Jinja2)

开发Template步骤:
在APP根目录下创建名为Templates的目录->在Templates木下创建HTML文件->在views.py中返回render()

模板DTL初步使用:
1、render()函数支持一个dict类型参数,该字典是后台传递到模板(.html)的参数,键为参数名。在模板(.html)中使用 {{参数名}}直接使用
2、Django按照INSTALLED_APPS中添加顺序查找Templates,不同APP下Templates目录中同名.html文件会造成冲突,未解决该冲突,可在Templates下创建与APP同名的目录,将.html文件放在新创建的APP同名目录下

Templates过滤器:{{value|filter}}

Models介绍
1、一个model对应数据库的一张数据表
2、Django中Models以 的形式表现
3、Models包含一些 基本字段和数据的一些 行为
ORM(Object Relation Mapping,对象关系映射),实现对象和数据库之间的映射,隐藏了数据访问的细节,不需要编写SQL语句。

编写Models的步骤:在应用根目录下创建models.py,并引入models模块(Django在创建应用时会自动生成) ->创建类,继承models.Model,该类即是一张数据表 ->在类中创建字段,字段即类里面的属性(变量),如attr=models.CharField(max_length=64)

生成数据表:命令行进入manage.py同级目录- >执行 python manage.py makemigrations app名(可选,否则迁移所以应用)->再执行 pyhton manage.py migrate

查看SQL语句:Django会自动在app/migrations/目录下生成移植文件,执行 python manage.py sqlmigrate 应用名 文件id 可查看SQL语句

SQLite Expert Personal,第三方软件,轻量级,完全免费,可查看并编辑db.sqlite3

页面呈现数据
后台步骤:views.py 中 import models        ->      article = models.Article.objects.get( pk = 1 ) -> render(request,page,{' article':article})
前端步骤:模板可直接使用对象以及对象的”.“操作,如{{ article.title}}

Admin介绍:Admin是Django自带的功能强大的自动化数据库管理界面,被授权的用户可直接在Admin中管理数据库,Django提供了许多针对Admin的定制功能。

配置Admin:
1、创建超级用户 python manage.py createsuperuser->localhose:8000/admin Admin登陆入口->setting.py中LANGUAGE_CODE = 'zh_Hans'汉化
2、配置应用: 在应用下admin.py中引入自身models模块(或里面的模型类)如  from models import Article-> 编辑admin.py   admin.site.register(Article)

修改Admin数据默认显示名称:在models.py中Article类下添加一个方法->根据Python版本选择__str__(self)(V3.0)或__unicode__(self)  (V2.7)->return self.title

Admin增强:在admin.py中创建admin配置类class ArticleAdmin(admin.ModelAdmin)->注册改为admin.site.register(Article,ArticleAdmin)
显示其他字段list_display = ('title' , 'content'),list_display同时支持 tuplelist
Admin过滤: list_filter = ('pub_time' , )  (注意逗号)


Django中超链接templates中可以用 "{% url 'app_name:url_name' param %}",其中app_name在根url.py
中配置,url_name在应用下url.py中配置

编辑响应函数(如 提交 按钮)
使用request.POST['参数名']获取表单数据 ->models.Article.objects.create(tilte.content创建对象

Django Shell:它是一个Python的交互式命令行程序,能自动引入项目环境,可以用来与项目进行交互
启动Django Shell: python manage.py shell,可用Django Shell可用于调试工作、测试未知方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值