【Django入门】学习笔记01
程序员文章站
2023-11-07 15:31:04
Django介绍 Django是一个基于Python的高级Web开发框架 它能够让开发人员进行高效且快速的开发 高度集成,方便开发 正常上网流程 打开浏览器 向目标URL发送一个HTTP请求 服务器把页面响应给浏览器 浏览网页的基本原理 本质是 网络通信 ,即通过网络进行数据传递 浏览器经过通信后获 ......
django介绍
- django是一个基于python的高级web开发框架
- 它能够让开发人员进行高效且快速的开发
- 高度集成,方便开发
正常上网流程
打开浏览器->向目标url发送一个http请求->服务器把页面响应给浏览器
浏览网页的基本原理
本质是网络通信,即通过网络进行数据传递
浏览器经过通信后获取到该页面的源代码文档
浏览器解析文档后以适当的形式展示给用户
编辑器推荐
- pycharm
- sublime text,atom
django项目开发
创建项目
- 打开命令行,进入想要安置项目的目录
- 命令行输入
django-admin startproject yourprojectname
项目目录结构
查看可用命令(在manage.py当前目录下执行)
python manage.py
目录(这里为myblog目录)
- 项目的一个容器
- 包含项目最基本的一些配置
- 目录名称不建议修改
项目目录介绍
wsgi.py
- wsgi(web server gateway interface)
- python服务器网关接口
urls.py
-url配置文件
settings.py - 项目总配置文件
- 包含数据库、web应用、时间等各自配置
**_init__.py** - python中声明模块的文件
- 内容默认为空
创建应用
- 打开命令行,进入项目中manage.py同级目录
- 命令行输入
python manage.py startapp yourappname
- 添加应用名到setting.py中的installed_apps里
注意:应用名不能与已有名称重复,否则会报错
migrations
- 数据移植(迁移)模块
- 内容自动生成不需要管它
admin.py
- 该应用的后台管理系统配置
apps.py
- 应用的配置文件
models.py
- 数据模块
- 使用orm框架
tests.py
- 测试脚本
views.py
- 执行响应代码所在模块
- 代码逻辑处理的主要地点
- 主要写代码的地方
创建页面
编辑blog.views
- 每个响应对应一个参数,函数必须返回一个响应
- 函数必须存在一个参数,一般约定为request
- 每个响应(函数)对应一个url
配置url
编辑urls.py
- 每个url都以url形式写出
- url函数放在urlpatterns列表中
- url函数的参数根据提示写,一般常用为三个:url、对应方法、名称
包含其他url - 在根urls.py中引入include
- 在app目录下创建urls.py文件,根式与根urls.py相同
- 根urls.py中url函数第二个参数改为include(yourappname.urls')
配置templates
templates介绍
- 一种html文件
- 使用了django模板语言(dtl)
- 可以使用第三方模板(修改setting.py中template选项的backend)
配置过程
- 在app目录下创建templates目录
- 在该目录下创建html文件
- 在views.py中返回render()
dtl的使用
- render()函数中支持一个dict类型参数
- 该字典是后台传递到模板的参数,键为参数名
- 在模板中使用{{参数名}}来直接使用
注意:
django是按照installed_apps中添加顺序查找templates
因此不同app下templates目录中的同名html文件会造成冲突。
所以需要在app的templates目录下创建以app名为名称的目录
将html文件放入新创建的目录下面
models
models介绍
- 一个model对应数据库的一张数据表
- django中models以类的形式表现,包含一些基本字段和数据的一些行为
orm(对象关系映射)
- 实现了对象和数据库之间的映射
- 隐藏了数据访问的细节,不需要编写sql语句
步骤
- 在应用根目录下创建models.py,并引入models模块
- 创建类,继承models.model,即类是一张数据表
- 在类中创建字段
字段创建
- 字段即类里面的属性(变量)
attr = models.charfield(max_length=64)
生成数据表
- 在命令行中执行命令
python manage.py makemigrations yourappname(可选)
- 再次执行
python manage.py migrate
查看移植内容
- app/migrations/ 下会有移植文件
- 查看sql语句,执行
python manage.py sqlmigrate yourappname fileid
- 查看并编辑bd.sqlite3
可以使用第三方软件 sqlite expert personal
页面呈现数据
- views.py中 from . import models
- 输入
value = models.article.objects.get(pk=1) return render(request,page,{'article':value})
- 在html文档可以直接使用对象以及对象的“.”操作
article.title
(未完待续)