Django是劳伦斯出版集团的开发人员为开发新闻内容网站而设计出来的一个软件,它遵循MVC思想。其基于Python开发的一个免费开源的Web框架,可以用于快速搭建高性能,优雅的网站!采用了MVC的框架模式,即模型M,视图V和控制器C,也可以称为MVT模式,模型M,视图V,模板T
Django遵循快速开发和DRY原则。Do not repeat yourself.不要自己去重复一些工作。
M全拼为Model,与MVC中的M功能相同,负责和数据库交互,进行数据处理。
V全拼为View,与MVC中的C功能相同,接收请求,进行业务处理,返回应答。
T全拼为Template,与MVC中的V功能相同,负责封装构造要返回的html。
进入虚拟环境
conda activate beardata
pip install django==2.2.10
django-admin startproject 项目名称
如 django-admin startproject beardata
目录结构说明
manage.py:用于和Django项目交互的命令行工具,用来管理整个项目
beardata: 与项目同名的Python包
beardata/init.py: 是一个空文件,作用是这个目录beardata可以被当作包使用
beardata/settings.py: 项目配置文件
beardata/urls.py: 该项目的URL配置文件
beardata/wsgi.py: 项目与WSGI兼容的Web服务器入口
在开发阶段,为了能够快速预览到开发的效果,Django提供了一个纯python编写的轻量级web服务器,仅在开发阶段使用。
python manage.py runserver ip:port
其中ip和port可以不写,默认为127.0.0.1:8000
如 python manage.py runserver
如 python manage.py runserver 8080
如 python manage.py runserver 0:8080 #其中0是0.0.0.0缩写
请忽略以下提示的警告
在浏览器和总输入 http://127.0.0.1:8000/
在一个项目中有多个业务模块,一个业务模块就是一个应用,一个项目中可以有多个应用。此处我们创建名称为beardata_sys模块。
python manage.py startapp beardata_sys
admin.py: 跟网站的后台管理相关文件
apps.py: 应用相关配置文件
init.py: 空文件,表示当前目录beardata_sys可以当作一个python包使用
migrations: 数据迁移相关操作
models.py: 数据库操作相关文件
tests.py: 用于开发测试用例
views.py: 接收浏览器请求,进行处理,返回页面相关操作
我们在beardata_sys/views.py中添加如下代码
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello,Beardata")
这是最简单的视图定义,直接给浏览器返回字符串,为了能够调用该视图,我们需要映射一个URL。我们在beardata_sys包下创建urls.py用于映射该应用的URL,并添加如下代码
# -*- encoding: utf-8 -*-
from django.urls import path
"""
@Project: beardata
@File : urls.py
@Author : zhangxiong
@Time : 2020/2/22 上午10:30
"""
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
在beardata_sys包下定义的urls.py是属于beardata_sys应用的,我们需要在整个项目中urls.py中去引用。在beardata/urls.py中添加如下代码
from django.contrib import admin
from django.urls import path,include
urlpatterns = [
path('beardata_sys/', include('beardata_sys.urls')), #引用应用中的URL
path('admin/', admin.site.urls),
]
path函数参数说明
第一个参数route,必选参数,字符串类型的URL正则,当发过来一个请求时,Django从urlpatterns中的第一个URL开始匹配直到找到匹配的一个。在匹配的过程中,不会去搜索GET/POST参数,如
https://www.example.com/beardata/,在这个请求中,匹配的URL为beardata/。https://www.example.com/beardata/?page=3,在这个请求中,匹配的URL也为 beardata/
第二个参数view,必选参数,当Danjgo匹配到第一个参数时,则会用HttpRequest作为对象调用该参数指定的函数。
第三个参数kwargs,可选参数,作为字典传递任意参数
第四个参数name,可选参数,URL命名