第一章:hello,DJgo

第一节:DJgo框架简介与安装

Djgo 发布于2005年,是最负盛名且成熟的Python网络框架,最初用来制作在线新闻的Web站点
它是开源的Web框架,遵守BSD协议.
Djgo采用了MVC/MTV架构设计,即数据层、展示层、业务调度分离,这种架构设计的好处是可以方便解耦,复用。
MVC(Model,View,Controller)
MTV(Model,Template,View)

【BSD协议】
BSD协议全称Berkeley Software Distribution,始于197X年UC伯克利分校学生发行的软件(包括Pascal系统和一个编辑器ex),允许商用和二次开发,所以给于使用者很大自由的协议,只需要声明代码作者的著作权即可,很多的公司企业在选用开源产品的时候都首选BSD协议

Djgo的官方网站可以点击此处查看:

# 安装djgo
pip3 install django==1.11.7

进入Python环境测试安装是否成功,正确输出版本号即安装正确

import django
django.get_version()

关于源的知识

  • 查看安装好的包
    方式一:使用命令
pip3 freeze

方式二:使用pycham

pycham-settings-Preject:-project interpreter

  • 使用别的源

pycham-settings-Preject:-project interpreter-右上角“+” - Manage Recositories 进行设置

第二节:搭建虚拟开发环境

很多时候一台服务器上要运行多个Web应用程序;而这些应用程序之间使用的第三方框架往往是互不相同且互不兼容的;虚拟环境的作用就是为每个Web应用创建一个隔离的独立的运行环境,使得各个应用的依赖互不影响;

常用方式搭建(venv)

# 安装python包管理器pip
sudo apt install python3-pip

# 安装虚拟环境venv
sudo apt-get install python3-venv

# 在指定位置下创建虚拟环境
python3 -m venv .venv(这是文件夹名)

# bin目录下激活虚拟环境(路径需完整)
source .venv/bin/activate

#进行其他包的下载
pip3 install xxx

#退出环境
deactivate

3.4版前的方式搭建 (virtualenv)

因为virtualenv是一种能够兼容各个Python版本的虚拟环境创建方式,对于Python3.4以上的版本,其底层调用的仍然是Python原生的venv;

# 安装Python3
apt install python3-dev

# 安装虚拟环境virtualenv
pip3 install virtualenv

# 安装包装器
pip3 install virtualenvwrapper

# 选择路径并创建文件夹
cd / xxxx
mkdir .virtualenvs

# 声明环境变量并重启激活
vim .bashrc  #编缉家目录下的bashrc文件,这个文件开机就会执行
export WORKON_HOME= /path/.virtualenvs   # 导出环境变量1
xport VIRTUALENVWRAPPER_PYTHON=/usr/bin/pythons  # 导出环境变量2

source path/.bashrc # 激活环境

# 激活包装器
source home/.local/bin/virtualenvwrapper.sh

# 创建环境并指定py版本地址
mkvirtualenv xxx -p /usr/bin/python3.6
  • 日常切换
# 激活包装器
source ~/.local/bin/virtualenvwrapper.sh
# 工作在xx环境
workon xxx
# 退出
deactivate

第三节:hello Djgo

创建工程项目

  • 方式一:pycham创建工程项目

file - newproject - 选择Django - 选择路径+名字 - 选择解释器
ps:此方式工程会多一个template文件夹,setting.py也会在TEMPLATES内注册好此文件夹

  • 方式二:命令创建工程项目
django-admin.py startproject HelloDjango
  • 打开工程修改解释器

pycham-settings-Preject:-project interpreter-add local-选择虚拟环境解释器

  • 默认工程结构及简介
    如图
    在这里插入图片描述
    ps:查看工程目录结构可以使用 tree
sudo apt install tree
tree HelloDjango/
  • 运行项目命令
# 运行命令:
python3 manage.py runserver

整合TV

创建子应用

1、使用命令创建子应用

python manage.py startapp  MyApp

子应用目录:
在这里插入图片描述
2、在settings.py中注册应用
在这里插入图片描述

创建主页

1、定义路由
在这里插入图片描述
2、定义路由函数
在这里插入图片描述
3、打开主页
在这里插入图片描述

创建templates文件夹

1、新建文件夹,名曰:“templates”

2、标记文件夹

右击选择“Mark Directary as” - “Template Folder”

3、注册文件夹
在这里插入图片描述

创建一个模板

1、templates文件夹下创建一个HTML文件

2、编写HTML内容
在这里插入图片描述

3、定义路由
在这里插入图片描述
4、定义路由函数
在这里插入图片描述

  • 打开页面
http://127.0.0.1:8000/welcome

在这里插入图片描述

整合M

PS:以下展示是不使用已有数据库数据的情况下,创建数据库再整合。并且以Django自带的Sqlite作为数据库展示的。

定义数据类型

数据类型参考表

参考类型 参考代码 说明
整型 models.IntegerField(default=1)
浮点型 models.FloatField(default=0)
字符串型 username = models.CharField(max_length=32, unique=True)
文本类型 models.TextField(db_column='ps') 一般超过4000字使用
布尔型 sex = models.BooleanField(default=False)
空布尔型 NullBooleanField 支持null、true、false三种值
时间日期型 o_create = models.DateTimeField(auto_now=True)
自增长主键 a_id = models.AutoField(primary_key=True)
纯日期型 DateField([auto_now=False, auto_now_add=False]) Python的datetime.date实例表示的日期
纯时间型 TimeField 使用Python的datetime.time实例表示的时间
超长数字 DecimalField(max_digits=None, decimal_places=None) 使用python的Decimal实例表示的十进制浮点数
max_digits=总位数
decimal_places=小数位数
长字节型 FileField 上传文件字段
图片型 icon = models.ImageField(upload_to='icons')
f_color = models.IntegerField(default=0, db_column="color")
user = models.ForeignKey(UserModel)

约束参考表

参考约束 参考代码 说明
主键 primary_key=False django会为表增加自动增长的主键列
如果使用选项设置某属性为主键列后,则django不会再生成默认的主键列
长度 max_length=None
唯一 unique=False
是否填null null=False 如果为True,则默认以空值NULL填充
空表单 blank=False 如果为True,则该字段允许为空白(即空字符串),这个约束常常用于表单验证
默认 default=NOT_PROVIDED
索引 db_index=False 若值为 True, 则在表中会为此字段创建索引
名称 db_column=None 字段的名称,如果未指定,则使用属性的名称

完整约束源码参考
在这里插入图片描述
例:
在这里插入图片描述

执行数据迁移

数据迁移的概念,就是将模型映射到数据库的过程;
迁移过后,框架为我们自动生成了库表,Django默认自带的数据库是SQLite数据库;
数据库文件生成路径为工程根目录下的db.sqlite3;

 # 生成迁移文件(在MyApp下的migrations包中)
python manage.py makemigrations

 # 执行数据迁移
 python mananger.py migrate
连接pycham客户端(默认使用django自带Sqlite数据库)
  • 2016版

1、右上角“+” - Data Source - Sqlite

2、“+”旁边的"..." - 选择到该项目的Sqlite

3、安装驱动(只装一次)

插入数据

在这里插入图片描述在这里插入图片描述

新增路由和路由函数

例:
在这里插入图片描述
在这里插入图片描述

创建模板传入数据

1、templates内创建 students.html

2、传入数据
在这里插入图片描述3、打开页面
在这里插入图片描述

加载静态资源

1、注册 static
在这里插入图片描述
2、创建 static 文件夹
在这里插入图片描述

3、加载静态文件

  • 方式一:直接加载静态文件
http://127.0.0.1:8000/static/img/xxx.jpg

在这里插入图片描述

  • 方式二:HTM加载静态文件
    在这里插入图片描述
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/xiangchi7/article/details/85392041
今日推荐