![](https://img.kancloud.cn/41/e0/41e066af9a6c25a24868d9667253ec98_1241x333.jpg)
## Django框架介绍
Django也遵循MVC思想,但是有自己的一个名词,叫做MVT
Django,发音为[`dʒæŋɡəʊ],Django诞生于2003年秋天,2005年发布正式版本,由Simon和Andrian开发。
### Django版本和Python版本
https://docs.djangoproject.com/zh-hans/2.1/faq/
![](https://img.kancloud.cn/4a/9e/4a9e68dc1d2584da9ac42440361371a4_526x162.png)
### Django开发原则
快速开发和DRY原则。Do not repeat yourself.不要自己去重复一些工作。
**官网手册介绍**
```
Django的官网:https://www.djangoproject.com/
Django Book2.0版本的中文文档:http://djangobook.py3k.cn/2.0/chapter01/
```
## Django项目创建
### 1.用命令行的方式
```
创建项目:打开终端,使用命令:django-admin startproject [项目名称]
比如:django-admin startproject first_project。
```
### 2.用pycharm的方式
如果pycharm是专业版的话,可以用pycharm安装Django
![pycharm](https://img.kancloud.cn/6b/a2/6ba25230544994c3add1621930f4e746_778x490.png)
### 运行Django项目
- 通过命令行的方式:python manage.py runserver。这样可以在本地访问你的网站,默认端口号是8000,这样就可以在浏览器中通过http://127.0.0.1:8000/来访问你的网站啦。如果想要修改端口号,那么在运行的时候可以指定端口号,python manage.py runserver 9000这样就可以通过9000端口来访问啦。
- 通过pycharm运行Django项目,在edit configurations中设置
### 项目结构介绍
manage.py:以后和项目交互基本上都是基于这个文件。一般都是在终端输入python manage.py [子命令]。可以输入python manage.py help看下能做什么事情。除非你知道你自己在做什么,一般情况下不应该编辑这个文件。
settings.py:本项目的设置项,以后所有和项目相关的配置都是放在这个里面。
urls.py:这个文件是用来配置URL路由的。比如访问http://127.0.0.1/news/是访问新闻列表页,这些东西就需要在这个文件中完成。
wsgi.py:项目与WSGI协议兼容的web服务器入口,部署的时候需要用到的,一般情况下也是不需要修改的。
### project和app的关系
app是django项目的组成部分。一个app代表项目中的一个模块,所有URL请求的响应都是由app来处理。比如豆瓣,里面有图书,电影,音乐,同城等许许多多的模块,如果站在django的角度来看,图书,电影这些模块就是app,图书,电影这些app共同组成豆瓣这个项目。因此这里要有一个概念,django项目由许多app组成,一个app可以被用到其他项目,django也能拥有不同的app。
#### 创建app
```
python manage.py startapp [app名称]
```
### app中的文件
```
__init__.py 说明目录是一个Python模块
models.py 写和数据库相关的内容
views.py 接收请求,处理数据 与M和T进行交互
tests.py 写测试代码的文件(暂时不需要关心)
admin.py 网站后台管理相关的
```
### 应用注册
建立应用和项目之间的联系,需要对应用进行注册。
修改settings.py中的INSTALLED_APPS配置项。
## Django初体验
```
from django.http import HttpResponse
from book.views import book
from move.views import move
def index(request):
return HttpResponse("首页")
def book(request):
return HttpResponse("图书首页")
def move(request):
return HttpResponse("电影首页")
urlpatterns = [
path('admin/', admin.site.urls),
path('',index),
path("book",book),
path("move",move)
]
```
### DEBUG模式
- 开启了debug模式,那么修改代码,然后按下ctrl+s,那么Django会自动重启项目
- Django项目中代码出现了问题,在浏览器中和控制台中会打印错误信息
- 如果项目上线了,关闭debug模式,不然有很大的安全隐患
- 关闭DEBUG模式,在setting文件中,将DEBUG = False
- 空白目录
- 1-Django前导知识
- 1-1-虚拟环境
- 1-2-Django框架介绍与环境搭建
- 2-URL与视图
- 2-1-URL与视图
- 3-模板
- 3-1-模板介绍
- 3-2-模板变量
- 3-3-常用标签
- 3-4-模板常用过滤器
- 3-5-模板结构优化
- 3-6-加载静态文件
- 4-数据库
- 4-1-操作数据库
- 4-2-图书管理系统
- 4-3-ORM模型介绍
- 4-4-ORM模型的增删改查
- 4-5-模型常用属性
- 4-6-外键和表
- 4-7-查询操作
- 4-8-QuerySet的方法
- 4-9-ORM模型练习
- 4-10-ORM模型迁移
- 5-视图高级
- 1-Django限制请求method
- 2-页面重定向
- 3-HttpRequest对象
- 4-HttpResponse对象
- 5-类视图
- 6-错误处理
- 6-表单
- 1-用表单验证数据
- 2-ModelForm
- 3-文件上传
- 7-session和cookie
- 1-session和cookie
- 8-memcached
- 1-memcached
- 9-阿里云部署
- 阿里云部署