Django介绍
Django是python web框架,该框架封装了WSGI接口用于创建服务器,提供了URL分发器将一个个URL的页面请求分发给不同的View处理函数,提供了template模板用于编写html文件,提供了ORM框架用于处理数据库。
Django 采用了 MTV 的软件设计模式,即模型(Model),模板(Template)和视图(View),MTV 模式本质上和 MVC 是一样的,也是为了各组件间保持松耦合关系,只是定义上有些许不同,Django 的 MTV 分别是指:
- M 表示模型(Model):编写程序应有的功能,负责业务对象与数据库的映射(ORM)。
- T 表示模板 (Template):负责如何把页面(html)展示给用户。(相当于MVC的视图层)
- V 表示视图(View):负责业务逻辑,并在适当时候调用 Model和 Template(相当于MVC的Controller层)。
请求过程:
用户通过浏览器(实际上是浏览器的js)向我们的web服务器发起一个请求,uwsgi服务器(Django框架封装的WSGI接口)接收到HTTP请求后会把这个请求交给视图函数:
a.如果不涉及到数据调用,那么这个时候视图函数直接返回一个模板也就是一个网页给用户。
b.如果涉及到数据调用,那么视图函数调用模型,模型去数据库查找数据,然后逐级返回。最后视图函数把返回的数据填充到模板中,最后返回网页给用户。
创建Django项目
- python版本:3.6.8
- pip版本:10.0.1
- Django版本:2.2.17
mkdir django2_study #新建项目根目录
cd django_demo
python -m venv venv # 为项目创建虚拟环境
venv\Scripts\activate # 进入虚拟环境
pip install Django==2.2.17 # 选择需要安装的Django版本
django-admin startproject django_study . # 会在当前根目录下新建django_study文件夹,注意后面有一个点“.”
-
安装 Django 包之后,就有了可用的管理工具 django-admin和django-admin.py,但django-admin.py已经弃用!
-
Django项目的目录结构如下:
- django2_study: 项目的容器。
- manage.py: 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互。
- django_study/init.py: 一个空文件,告诉 Python 该目录是一个 Python 包。
- django_study/asgi.py: 一个 ASGI 兼容的 Web 服务器的入口,以便运行你的项目。(Django3.x版本可见)
- django_study/settings.py: 该 Django 项目的设置/配置。
- django_study/urls.py: 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站"目录"。
- django_study/wsgi.py: 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。
启动web服务器
- 进入django2_study目录,启动服务器:
python manage.py runserver # 8000为默认端口,ALLOWED_HOSTS=[]时,输入localhost:8000或者127.0.0.1:8000即可看到项目首页
- settings.py中ALLOWED_HOSTS=[]时,页面输入localhost:8000或者127.0.0.1:8000即可看到项目首页。
- Tips:页面访问本地ip:8000会报错,需要把本地ip添加到settings.py中的ALLOWED_HOSTS=["localhost", "127.0.0.1", "192.168.31.80"],然后刷新页面即可。
- 启动命令使用
python manage.py runserver 0.0.0.0:8000
还可以允许同一局域网的其他设备访问本机ip
URL和视图函数映射
- django项目目录下新建views.py,内容如下
from django.http import HttpResponse
def hello(request):
return HttpResponse("Hello!")
- urls.py中添加URL和处理函数views.py的映射关系
from django.contrib import admin
from django.urls import path
from django.conf.urls import url
from . import views
urlpatterns = [
path('admin/', admin.site.urls),
url(r'^$', views.hello)
]
-
浏览器中刷新页面即可以看到新的页面内容
image.png
- 项目中如果代码有改动,服务器会自动监测代码的改动并自动重新载入不用重新启动服务,刷新页面即可看到最新内容。
Pycharm常用快捷键
-
Ctrl+F,Find in File:在当前文件中查找鼠标选中的内容,用于在当前文件中快速查找内容(F3从文件头开始找,Shift+F3从文件尾开始找)
-
Ctrl+Shift+F,Find in Folder:在项目目录中查找鼠标选中的内容
-
双击Shift:search everywhere全局搜索内容
-
ctrl+P,Paramters:调用函数时显示函数的有效参数,只需要在调用函数的地方将鼠标停留在函数括号中间然后按住ctrl+P即可
-
ctrl+B,Back:跳转到函数定义处,鼠标选中函数然后按住ctrl+B(go to Declaration)
-
Ctrl+Alt+T,快速添加异常处理模块,鼠标选中需要包裹的代码 --> 按快捷键 ctrl+alt+T
-
Ctrl+Alt+L,格式化代码
-
Alt+回车:选择导入模块
-
ctrl +D,Duplicated:重复显示鼠标选中的块或者重复当前行
-
Ctrl+?,代码行快速添加注释,鼠标选中代码行然后ctrl+?即可
网友评论