Django简介 安装下载 app概念 主要目录介绍
Posted 每天的学习的知识都要记录!
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django简介 安装下载 app概念 主要目录介绍相关的知识,希望对你有一定的参考价值。
目录
Django简介
前戏
Django是一个开放源代码的Web应用框架,由Python写成。采用了MTV的框架模式,即模型M,视图V和模版T。这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的。
一、版本问题
- Django1.X: 同步 1.11
- Django2.X: 同步 2.22
- Django3.X: 同步 3.2
- Django4.X: 同步 4.2
ps:版本之间的差异其实不大,主要是添加了额外的功能
二、运行Django注意事项
- Django项目中所有的文件名目录不要出现中文
- 计算机名称尽量不要出现中文。
- 一个pycharm尽量就是一个完整的项目,不要嵌套和叠加。
- 不同版本的python解释器与不同版本的Django可能会出现小问题。
- 建议解释器3.6版本的装1.X版本
- 建议解释器3.8版本的装2.X版本
Django安装下载
一、下载
1.在cmd中输入
- pip install django 默认是最新版本
- pip install django= = =版本号 指定版本下载
ps: pip下载模块会自动解决依赖问题,会把关联需要用到的模块一起下了
2.在pycharm解释器中下载即可
二、验证是否下载成功
- 在cmd搭好的环境变量中输入django-admin出现以下的情况则代表正常
三、终端cmd命令创建Django
①创建Django项目
-
django-admin startproject 项目名
-
在D盘根目录创建了一个mytest文件,其文件就是一个Django项目
②启动Django项目 -
cd 项目
-
输入命令 python38 manage.py runserver ip:port
-
点击网址就可以打开Django的启动页面
四、pycharm自动创建Django项目
- 直接创建
ps: 注意解释器选择和选择Django项目,会自动创建templates文件夹 但是配置文件中可能会报错。这里要注意第一步修改配置文件的路径 - 修改配置文件中templates文件夹的路径
- 修改完的路径
Django框架中app概念
一、比喻概念,便于理解
- django类似于是一所大学 app类似于大学里面的各个学院
- django里面的app类似于某个具体的功能模块
-
user app 所有商品相关的都写在user app下
-
goods app 所有商品相关的都写在goods app下
二、创建Django项目时创建一个app
-
这里只能创建一个,后面的建议需要用命令行创建
-
这时的配置文件settings.py会自动帮你注册上一个应用\'app01.apps.App01Config\'
二、命令行创建应用
- python manage.py startapp 应用名
ps: 注意这里命令行创建,配置文件settings.py中并没有自动注册,所以我们要手动注册。
Django主要目录结构
一、目录各个文件介绍
- 如图
- django项目根目录名
- django项目同名目录
-
settings.py 配置文件
-
urls.py 存储网址后缀与函数名对应关系(不严谨)
-
wsgi.py wsgiref网关文件
-
db.sqlite3文件 django自带的小型数据库(项目启动之后才会出现)
-
manage.py 入口文件(命令提供)
- app应用目录
-
migrations目录 存储数据库相关记录
-
admin.py django内置的admin后台管理功能
-
apps.py 注册app相关
-
models.py 与数据库打交道的(非常重要)
-
tests.py 测试文件
-
views.py 存储功能函数(不严谨)
-
templates目录 存储html文件(命令行不会自动创建 pycharm会自动创建)
二、小白必掌握的框架项目重要名词
-
网址后缀 路由
-
函数 视图函数
-
类 视图类
- 重要名词讲解
-
urls.py 路由层
-
views.py 视图层
-
models.py 模型层
-
templates 模板层
Django小白必会三板斧-render,HttpResponse,redirect
一、每个板斧的作用
-
HttpResponse 返回字符串类型的数据
-
render 返回html页面并且支持传值
-
redirect 重定向
二、在文件中导入,并且每一个的具体板斧简单应用
Django简介
目录
Django简介
wsgiref模块
wsgiref模块能根据功能的不同拆分成不同的文件,用户在浏览器窗口输入url之所以能狗获取到相应的资源,是因为后端早已经开设了相应 资源接口。
wsgiref特点:
- 先在urls文件中写url与函数的对应关系
- 再去views文件中写对应的函数功能块
urls.py:路由与属性函数的对应关系
views.py:里面就是放的一堆视图函数(视图函数也可以是函数也可以是类)
templates文件夹:里面放的就是一堆HTML文件(模板文件夹)
大白话:wsgiref模块作用是帮你将复杂的socket连接封装,将用户输入的数据做处理,并把后端发送给浏览器的数据也做处理。
动静态网页
静态网页
数据是写死的,万年不变
动态网页
数据是动态获取的:
- 获取档期那时间
- 从数据库中获取数据
jinja2模块
提供了一个可以在HTML页面上书写类似于python后端的 代码,来操作数据(模板语法)
pip3 install jinja2 下载安装模块
flask框架模板语法使用的就是jinja2模块,所以只要下载了flask框架,就会自动下载jinja2模块。
模板语法(jinja2)模块语法非常贴近python语法,但是并不是所有的框架使用的都是jinja2模块语法
在HTML文件内的语法示例:
{{ xxx }}
<p>{{xxx.username}}</p>
<p>{{xxx['password']}}</p>
<p>{{xxx.get('hobby')}}</p>
<p>{{xxx.get('hobby')[0]}}</p>
<p>{{xxx.get('hobby').1}}</p>
{%for user_dict in xxx %}
<tr>
<td>{{ user_dict.id }}</td>
<td>{{ user_dict.name }}</td>
<td>{{ user_dict.hobby }}</td>
</tr>
{% endfor %}
web框架
python三大主流框架
django
- 优点:大而全,自身携带的组件和功能特别特别多,功能全面;就类似于塔吊机
- 缺点:大嘛,所以就笨重,需要的不需要的功能都有。当你只需要盖一间房子的时候,你会用到塔吊机嘛?
flask
- 优点:小而精,源码600多行(分为请求上下文,应用上下文),自身携带的组件和功能特别特别少,但是第三方支持该框架的模块特别特别多,如果你将flask第三方模块全部叠加起来,甚至可以超过django
- 缺点:常言你的优点就是你的缺点。因此flask受限于第三方模块,版本更新导致不兼容问题比较常见。
tornado
异步非阻塞,天然支持高并发,甚至可以用它来开发游戏服务器。
django框架
安装及注意事项
注意事项
- 计算机名称不能有中文
- 项目文件名也不能用中文
- 一个pycharm窗口就是一个单独的完整的项目
版本问题
-
1.x版本
2.x版本
3.x版本(目前不用考虑)
推荐使用1.x版本里面的1.11.09-1.11.13,因为2.x版本才发行不久,新公司或者更换了版本的公司才会使用,一般使用1.8或1.11,现已逐步往1.11转
安装
pip3 install django==1.11.11
测试是否安装成功
命令行输入:django-admin
创建django项目
命令行
创建django项目
语法:django-admin startproject mysite(项目名)
效果:创建一个mysite文件夹
启动django项目(先切换到项目目录下)
语法:python manage.py runserver 必须在cmd管理员启动(django默认端口是8000)
创建具有独立功能的app,通常情况下应该能做到见明之义。
语法:python manage.py startapp app名字
···1. 使用命令行创建的django项目是不会自动创建templates模板文件夹的,只能自己手动创建
···2. 命令行创建的django项目不但没有templates文件夹,配置文件中也没有填写路径(而pycharm创建会自动添加)
pycharm快捷键
- 直接在pycharm命令行里输入,语法与cmd相同
app的概念
全名application 应用,此app非彼app.
django其实是一个专注于开发app的web框架,一个空的django项目就类似于一所大学,app就类似于大学里面的各个学院。
每个app就类似于不同的功能模块
- 购物网站
- 用户相关 user ---用户相关的app
- 订单相关 order --- 订单相关的app
- 投诉相关 Complaint --- 投诉相关的app
- 不同的功能模块推荐使用不同的app去开发
- django支持多app
django主要文件功能
mysite
-mysite
--__init__.py
--settings.py 项目配置文件
--urls.py 路由视图函数对应关系,项目的总路由
--wsgi.py
-manage.py
app01
--migrations文件夹 数据库改动记录
----__init__.py
--__init__.py
--admin.py django后台管理
--apps.py 注册app类
--models.py 模型类(orm)
--tests.py 测试文件
--view.py 视图函数(******)
使用django时注意的事项
- 代码修改了始终没有效果
以上是关于Django简介 安装下载 app概念 主要目录介绍的主要内容,如果未能解决你的问题,请参考以下文章
Django学习手册 - pycharm 安装/建立第一个网站hello world