课程地址:
慕课网免费视频三小时带你入门Django框架
一、环境搭建
1.1 环境准备
- python环境安装:
使用python版本:3.5+
- 方案1:原生python环境
- 方案2:科学结算Anaconda Python环境(推荐)
减少Python第三方库的困扰,全身心投入到业务开发当中
- IDE工具安装:
- pycharm
说明:该文章基于mac系统,windows和linux类似
1.2 安装andconda
- 到官网下载Andconda
2.4. pycharm安装
访问官网pycharm进行下载,点击安装即可
二、Django项目初体验
2.1 初识Django项目
2.1.1 Django的基本命令
- startproject 创建一个Django项目
- startapp 创建一个Django应用
- check 检查项目完整性
- runserver 本地简易运行Django项目
- shell 进入Django项目的Python Shell环境
- test 执行Django测试用例
2.1.2 Django的基本指令(数据库相关)
- makemigrations 创建模型变更的迁移文件,生成数据库DDL语句
- migrate 执行上一个命令创建的迁移文件,执行DDL语句
- dumpdata 把数据库数据导出到文件
- loaddata 把文件数据导入到数据库
2.1.3 创建一个项目
- 创建一个项目
cd code/python # 1. 自己创建的python项目目录
django-admin startproject django_introduction # 2. 创建Django项目指令
- 添加代码到gitee仓库
- 使用pycharm打开django_introduction目录
- 创建应用blog,打开terminal,输入 python manage.py startapp blog
3.2 创建博客文章模型
3.2.1 设计博客模型
- 文章标题 文本类型
- 文章摘要 文本类型
- 文章内容 文本类型
- 唯一ID标记 Int数字类型(自增、主键)
- 发布日期 日期类型
3.2.2 模型层定义字段
- 定义类型
- 数字类型 IntegerField
- 文本类型 TextField
- 日期类型 DateTimeField
- 自增ID AutoField
- 主键定义 primary_key属性
- 应用创建model blog/models.py
class Article(models.Model):
# 文章唯一ID
article_id = models.AutoField(primary_key=True)
# 文章标题(注意TextFiled有括号)
title = models.TextField()
# 文章摘要
brief_content = models.TextField()
# 文章内容
content = models.TextField()
# 文章发布时间
publish_date = models.DateTimeField(auto_now=True)
- 终端运行指令创建Article model
说明:
makemigrations生成ddl(数据库模式定义语言)
migrate真正地去执行ddl
3.3 初识Django Shell
3.3.1 Django Shell是什么
- Python Shell,用于交互式的Python编程
- Django Shell也类似,集成Django项目环境
3.3.2 为什么需要Django Shell
- 临时性操作使用Django Shell更加方便
- 小范围Debug更简单,不需要运行整个项目来测试
方便开发、方便测试、方便Debug
3.3.3 Django Shell的使用
实例:创建一遍文章
- 登录页面进行管理
- 启动项目,访问网址 http://127.0.0.1:8000/admin
- 输入步骤1创建的管理员账号密码
4.6.3实现分页标识设计
- /blog/detail/1 => 博客唯一ID为1的文章
- /blog/index?page = 1 => 分页为1的首页
4.6.4 views.py设置分页数据
- 使用python shell进行分页功能测试
- views.py设置数据(倒叙字段签名加【-】)


网友评论