博客网站开发视频,做童鞋的一些外贸网站,网络推广策划案例,中国教育网站官网1.Django概述
Django是一个开放源代码的Web应用框架#xff0c;由Python写成。采用了MTV的框架模式#xff0c;即模型M#xff0c;视图V和模版T。
Django 框架的核心组件有#xff1a;
用于创建模型的对象关系映射#xff1b; 为最终用户设计较好的管理界面#xff1b…1.Django概述
Django是一个开放源代码的Web应用框架由Python写成。采用了MTV的框架模式即模型M视图V和模版T。
Django 框架的核心组件有
用于创建模型的对象关系映射 为最终用户设计较好的管理界面 URL 设计 设计者友好的模板语言 缓存系统。 Django已经成为web开发者的首选框架是一个遵循 MVC 设计模式的框架。MVC是Model、View、Controller三个单词的简写分别代表模型、视图、控制器。Django其实也是一个MTV 的设计模式。
MTV是Model、Template、View三个单词的简写分别代表模型、模版、视图 。但是在Django中控制器接受用户输入的部分由框架自行处理所以 Django 里更关注的是模型Model、模板(Template)和视图Views称为 MTV模式。它们各自的职责如下 在这里插入图片描述
2.Django项目环境搭建
搭建Django开发环境主要有以下六个步骤 2.1创建并激活虚拟环境
cd D:\miniconda3311231001\Scripts
D:\miniconda3311231001\Scripts\activate.bat
#自己创建空文件夹存放项目
cd E:\1\Joie_1_busi_GM_SuperCar\proj_Django_HelloWorld
e:
#创建虚拟环境
python -m venv djangoenv 图片 运行以下命令激活虚拟环境
cd E:\1\Joie_1_busi_GM_SuperCar\proj_Django_HelloWorld
e:
djangoenv\Scripts\activate #激活虚拟环境2.2安装django模块
#1激活虚拟环境
cd E:\1\Joie_1_busi_GM_SuperCar\proj_Django_HelloWorld
e:
djangoenv\Scripts\activate
#2安装django模块
python -m pip install --upgrade -i https://pypi.tuna.tsinghua.edu.cn/simple
#python -m pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
#激活虚拟环境后安装Django模块
python -m pip install Django -i https://pypi.tuna.tsinghua.edu.cn/simple上述命令执行后会把Django模块安装到了djangoenv/Lib/site-packages 下也就是说此Django模块仅仅在虚拟环境中而不是安装在Python全 局环境。目录如下图所示 在这里插入图片描述 2.3创建Django项目
安装了Django之后我们就可以使用Django的管理工具------django-admin了
我们创建一个名称为loginweb的Django项目命令如下
#1激活虚拟环境
cd E:\1\Joie_1_busi_GM_SuperCar\proj_Django_HelloWorld
e:
djangoenv\Scripts\activate
#2创建一个loginweb的项目
django-admin startproject loginweb
或者
python -m django startproject loginweb此命令执行后会在djenv的同级目录创建一个名称loginweb的Django 项目。目录结构如下图所示 在这里插入图片描述
用Pycharm打开项目项目结构文件含义如下
外层的loginweb目录是项目的容器Django不关心它的名字我 们可以将它重命名为任何我们喜欢的名字
里面的loginweb目录它是一个纯python包。我们可以称呼它为项目的名称不能随意重命名
manage.py 它是Django的一个非常重要的工具通过它可以调用 django shell和数据库等如创建app应用程序、创建数据库表、清 空数据、启动项目等操作
settings.py Django 项目的配置文件。包含了项目的默认设置包 括数据库信息调试标志以及其他一些工作的变量
urls.py Django 项目的URL路由声明负责把URL模式映射到应用 程序
wsgi.pyWeb服务器网关接口Python Web Server Gateway Interface的缩写Python应用和Web服务器之间的一种接口可以 看成是一种协议、规范。它是基于Http协议的不支持WebSoket
asgi.py异步网关协议接口能够处理多种通用的协议类型包括 HTTPHTTP2和WebSocket可以看成ASGI是WSGI的扩展
3.Django开发登录功能
3.1创建app应用程序
一般一个项目包含多个app应用程序当然通用的app也可以在多个项目中使用 下面我们为loginweb项目创建login
#1激活虚拟环境
cd E:\1\Joie_1_busi_GM_SuperCar\proj_Django_HelloWorld
djangoenv\Scripts\activate
#2切到django项目中
cd loginweb
#3创建一个叫login的应用
django-admin startapp login在这里插入图片描述
上述命令执行后目录结构如下图所示 图片
3.2注册app
app应用程序创建以后必须把app注册到Django才能够被Django项目所管理。我们只需要把login应用的名称配置到 loginweb/settings.py文件中即可。如下图所示 图片 3.3Django视图
Django视图的作用用于接受Web请求并且返回Web响应的简单Python 函数。该函数一般定义在各自应用的views.py文件中。在视图函数中有 两个重要的对象请求对象和响应对象。
下面是一个最简单的视图函数:
# 例在login/views.py 中
from django.http import HttpResponse
# Create your views here.def login(request):return HttpResponse(登录页面)其中request参数为必填参数代表用户的请求它是HttpRequest对象 3.4Django路由
Django的路由定义文件为项目目录urls.py文件。我们所有的路由配置都以列表的方式定义在urls.py文件中添加我们想要的路由
# 例在loginweb/urls.py 中
from django.contrib import admin
from django.urls import path
from login import views
urlpatterns [path(admin/, admin.site.urls),path(login/,views.login)
]3.5启动Django项目
在开发环境下我们需要在本地启动Django项目来开发与调试我们的代 码。启动Django项目命令如下
python manage.py runserver [port]
#[port] 为应用访问端口可以缺省不写默认为8000。此时我们就可以用浏览器访问我们的项目了。结果如下图所示 图片
访问我们写好的路由 图片 3.6登录功能改良
在login底下新写建一个templates目录存放编写的html前端页面
图片 login.html
!DOCTYPE html
html langen
headmeta charsetUTF-8title登录页面/titlestylebody{text-align:center;}/style
/head
body
form action/login/ methodpost{% csrf_token %}h1 aligncenter登录页面/h1p classdivslabel forusername用户名:/labelinput typetext idusername nameusername aligncenter/pp classdivsnbspnbspnbsplabel forpassword密码:/labelinput typepassword idpassword namepassword/pinput typesubmit value登录span stylecolor:red{{ error }}/span
/form
index.html
!DOCTYPE html
html langen
headmeta charsetUTF-8title这里是主页/titlestyleh1 { color:red }/style
/head
bodyh1这里是主页/h1
/body
/html修改视图函数
from django.shortcuts import render,redirect
# Create your views here.def login(request):if request.method POST:username request.POST.get(username)passowrd request.POST.get(password)if usernamesongqin and passowrd 123456:return redirect(/index)else:return render(request,login.html,{error:用户名或密码错误})return render(request,login.html)def index(request):return render(request,index.html)修改loginweb/urls.py
from django.contrib import admin
from django.urls import path
from login import views
urlpatterns [path(admin/, admin.site.urls),path(login/,views.login),path(index/,views.index)
]再次启动Django项目
python manage.py runserver [port]
#[port] 为应用访问端口可以缺省不写默认为8000。访问http://127.0.0.1:8000/login/项目 在这里插入图片描述
输入不是用户名密码是songqin/123456
在这里插入图片描述 输入songqin/123456点击登录 跳转到主页面
图片