创建项目流程
创建图书管理系统
-
Django下载
-
命令行
pip install django1.11.16
或使用源
pip install django1.11.16 -i https://pypi.doubanio.com/simple/- pycharm
settings 解释器 点+号 输入Django 选择版本 下载
- pycharm
-
创建数据库
用mysql创建一个数据库
-
创建项目
-
命令行
django-admin startproject 项目名 -
pycharm
file new project 选择Django 输入项目名称 选择解释器 输入APP名称 创建项目 -
配置文件
-
打开项目文件名下settings.py
-
注释中间件
-
模板
TEMPLARTES
DIRS [os.path.join(BASE_DIR, 'templates')] -
连接 数据库
配置DATABASES
ENGINE : mysql,
NAME: 数据库的名称,
HOST: IP '127.0.0.1' ,
PORT: 3306,
USER: mysql用户名,
PASSWORD: '密码',
-
告诉Django使用pymysql连接数据库
在于settings同级目录下的__init__.py中写代码
import pymysql
pymysql.install_as_MySQLdb()连接数据库
输入数据库IP和端口,数据库名称,用户名和密码,点击Test Connection测试连接 -
配置静态文件
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static')
]
如果静态文件中的图片重名, 只拿第一张图片 -
app的创建和注册
-
创建APP
- 命令行
python manage.py startapp app名称 - pycharm
tools run manage.py task startapp app名称
- 命令行
-
注册APP
INSTALLED_APPS = [
'app01' 或者 'app01.apps.App01Config',
] -
在app下的models中写类(创建表)
-
创建表
在数据库中创建一个publisher列表
class Publisher(models.Model):
pid = models.AutoField(primary_key=True)
name = models.CharField(max_length=32, unique=True) -
执行数据库迁移的命令
- 命令行
python manage.py makemigrations
python manage.py migrate - pycharm
tools -- run manage.py task 输入makemigrations
成功后输入migrate
- 命令行
-
urls
什么是路由?
route就是一条路由,它将一个URL路径和一个函数进行映射,例如:/users -> getAllUsers()
/users/count -> getUsersCount()
这就是两条路由,当访问/users的时候,会执行getAllUsers()函数;当访问/users/count的时候,会执行getUsersCount()函数。
而router可以理解为一个容器,或者说一种机制,它管理了一组route。简单来说,route只是进行了URL和函数的映射,而在当接收到一个URL之后,去路由映射表中查找相应的函数,这个过程是由router来处理的。一句话概括就是 “The router routes you to a route”。
作者:jigetage
来源:CSDN
原文:https://blog.csdn.net/jigetage/article/details/80938700
版权声明:本文为博主原创文章,转载请附上博文链接!对于用户来说,路由就是浏览器地址栏中的url与所见网页的对应关系。
而对于web开发人员来说,路由更像是url与处理函数的对应关系。
^ $同正则表达式中的作用, 匹配路由
^ 匹配字符串的开始
$ 匹配字符串的结尾
通过路由要从views中调用函数, 需要从app中引入views
- 在app中的views 写函数
从app中引入models
return HTTPResponse不返回模板,直接返回对象/ render返回并渲染模板/redirect重定向 ,合适的URL
参见 https://www.jianshu.com/p/4a5f056c48ad
-
在templates中创建HTML文件
-
ORM (Object Relational Mapping)
对象和关系型数据库的一个映射 同过操作对象的方式操作数据库的内容
- 对应关系
类 ___> 表
对象 ___> 记录 数据行
属性 ___> 字段 - ORM的功能:
- 操作数据表
- 操作记录
- 具体的操作
from app01 import models
# 获取所有数据
models.User.objects.all() # __> QuerySet 对象列表
# 获取单个对象 获取不到数据或者拿到多条数据就报错
models.User.objects.get(name='alex',pwd='111') # __> 对象
# 获取满足条件的所有对象
models.User.objects.filter(name='alex',pwd='111') # __> QuerySet 对象列表
(操作顺序url--views--templates)
-
启动项目
-
命令行
切换到项目的根目录下 manage.py
python manage.py runserver # 127.0.01:8000
python manage.py runserver 80 # 127.0.01:80
python manage.py runserver 0.0.0.0:80 # 0.0.0.0:80 -
pycharm
修改配置 run -- edit configrations点三角启动