欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

【Django入门】学习笔记01

程序员文章站 2023-12-22 14:46:10
Django介绍 Django是一个基于Python的高级Web开发框架 它能够让开发人员进行高效且快速的开发 高度集成,方便开发 正常上网流程 打开浏览器 向目标URL发送一个HTTP请求 服务器把页面响应给浏览器 浏览网页的基本原理 本质是 网络通信 ,即通过网络进行数据传递 浏览器经过通信后获 ......

django介绍

  • django是一个基于python的高级web开发框架
  • 它能够让开发人员进行高效且快速的开发
  • 高度集成,方便开发

正常上网流程

打开浏览器->向目标url发送一个http请求->服务器把页面响应给浏览器

浏览网页的基本原理

本质是网络通信,即通过网络进行数据传递
浏览器经过通信后获取到该页面的源代码文档
浏览器解析文档后以适当的形式展示给用户

【Django入门】学习笔记01

编辑器推荐

  • pycharm
  • sublime text,atom

django项目开发

创建项目

  • 打开命令行,进入想要安置项目的目录
  • 命令行输入
django-admin startproject yourprojectname

项目目录结构

【Django入门】学习笔记01
查看可用命令(在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

(未完待续)

上一篇:

下一篇: