1. 建立虚拟环境
建议python版本3以上
python3 -m venv venv 生成虚拟环境
source venv/bin/activate 将虚拟环境导出来,作为环境变量直接执行
deactivate推出虚拟环境
pip install django -i https://pypi.douban.com/simple 在虚拟环境中安装django
2. 第一个项目
django-admin startproject "项目名" 创建项目(我这里叫first_project)
mv venv first_project/ 因为是一套东西所以放在一起
用pycharm打开该项目,然后将venu排除,因为其本身跟逻辑没有任何关系
注意:我这里发现移动完虚拟环境后,不能用虚拟环境的python了,我又重新在first_project下重新生成的虚拟环境并安装django
用pycharm的终端新建app:django-admin startapp first_app
first_project/first_project/settings.py是全局配置文件,urls是路由
django遵循可插拔式的 plugable,就是每个app之前必应该有依赖的情况,保持独立
3. mtv+urls
models:数据库管理员,非必须的
template:模版引擎,从数据转成模版语言,其实就是转换器,非必须的
view:视图,接口引擎,访问url时,处理接口的逻辑,用来响应请求的,必须的
流程:
浏览器中输入url->urls->views->models->数据库->views->templates->response(字节码)->浏览器
4. hello world
在first_app中的views添加下面图一代码,在first_project中的urls中添加下图二中的代码
启动服务
在这个例子中,定义了函数视图,但是不推荐用,因为这样就失去了用django的意义
要用官方推荐的方法,对项目的理解和扩展能力来讲会更好
5. 路由分发例子
新建first_app/urls.py文件
first_app/views.py
first_app/urls.py
first_project/urls.py
分发到子app中路由时,需要调用include函数
5. 正则匹配路由
其他代码不变
这样在请求url时可以匹配到127.0.0.1:8000/test/1/这个url中test后面的1了
6. 模版视图
a.函数视图
推荐在每个app中新建templates
效果图
⚠️不提倡用函数视图,只是了解有这种方法
b.模版视图
效果和函数视图一样
c.渲染模版
效果和上面一样