天天看点

Django 学习1--入门

1. 建立虚拟环境

建议python版本3以上

python3 -m venv venv 生成虚拟环境

source venv/bin/activate 将虚拟环境导出来,作为环境变量直接执行

deactivate推出虚拟环境

Django 学习1--入门

pip install django -i  https://pypi.douban.com/simple 在虚拟环境中安装django

2. 第一个项目

django-admin startproject "项目名" 创建项目(我这里叫first_project)

mv venv first_project/ 因为是一套东西所以放在一起

用pycharm打开该项目,然后将venu排除,因为其本身跟逻辑没有任何关系

Django 学习1--入门

 注意:我这里发现移动完虚拟环境后,不能用虚拟环境的python了,我又重新在first_project下重新生成的虚拟环境并安装django

用pycharm的终端新建app:django-admin startapp first_app

Django 学习1--入门

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 学习1--入门
Django 学习1--入门

 启动服务

Django 学习1--入门

 在这个例子中,定义了函数视图,但是不推荐用,因为这样就失去了用django的意义

要用官方推荐的方法,对项目的理解和扩展能力来讲会更好 

5. 路由分发例子

新建first_app/urls.py文件

Django 学习1--入门
Django 学习1--入门

first_app/views.py

Django 学习1--入门
Django 学习1--入门

first_app/urls.py

Django 学习1--入门
Django 学习1--入门

first_project/urls.py

分发到子app中路由时,需要调用include函数

5. 正则匹配路由

其他代码不变

这样在请求url时可以匹配到127.0.0.1:8000/test/1/这个url中test后面的1了

6. 模版视图

a.函数视图

推荐在每个app中新建templates

效果图

Django 学习1--入门

⚠️不提倡用函数视图,只是了解有这种方法

 b.模版视图

效果和函数视图一样

 c.渲染模版

效果和上面一样