松勤软件测试:很详细的Django开发入门详解(图文并茂)(松勤软件测试培训可靠吗)

1.Django概述

Django是一个开放源代码的Web应用框架,由python写成。采用了MTV的框架模式,即模型M,视图V和模版T。Django 框架的核心组件有:

  • 用于创建模型的对象关系映射
  • 为最终用户设计较好的管理界面;
  • URL 设计;
  • 设计者友好的模板语言;
  • 缓存系统。

松勤软件测试:很详细的Django开发入门详解(图文并茂)(松勤软件测试培训可靠吗)

django已经成为web开发者的首选框架,是一个遵循 MVC 设计模式的框架。MVC是Model、View、Controller三个单词的简写,分别代表模型、视图、控制器。Django其实也是一个MTV 的设计模式。MTV是Model、Template、View三个单词的简写,分别代表模型、模版、视图 。但是在Django中,控制器接受用户输入的部分由框架自行处理,所以 Django 里更关注的是模型(Model)、模板(Template)和视图(Views),称为 MTV模式。它们各自的职责如下:

层次

职责

模型(Model),即数据存取层

处理与数据相关的所有事务:如何存取、如何验证有效性、包含哪些行为以及数据之间的关系等。

模板(Template),即表现层

处理与表现相关的决定:如何在页面或其他类型文档中进行显示。

视图(View),即业务逻辑层

存取模型及调取恰当模板的相关逻辑。模型与模板的桥梁。

2.Django项目环境搭建

搭建Django开发环境,主要有以下六个步骤

2.1创建并激活虚拟环境

cd D:djangotest #自己创建空文件夹存放项目python -m venv djangoenv #创建虚拟环境

运行以下命令,激活虚拟环境

cd D:djangotestdjangoenvScriptsactivate #激活虚拟环境

2.2安装django模块

#1激活虚拟环境cd D:djangotestdjangoenvScriptsactivate#2安装django模块pip install Django #激活虚拟环境后安装Django模块

上述命令执行后,会把Django模块,安装到了djangoenv/Lib/site-packages 下,也就是说,此Django模块仅仅在虚拟环境中,而不是安装在Python全 局环境。目录如下图所示

松勤软件测试:很详细的Django开发入门详解(图文并茂)(松勤软件测试培训可靠吗)

2.3创建Django项目

安装了Django之后,我们就可以使用Django的管理工具——>django-admin了我们创建一个名称为loginweb的Django项目,命令如下:

#1激活虚拟环境cd D:djangotestdjangoenvScriptsactivate#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.py:Web服务器网关接口(Python Web Server Gateway Interface的缩写),Python应用和Web服务器之间的一种接口,可以 看成是一种协议、规范。它是基于Http协议的,不支持WebSoket
  • asgi.py:异步网关协议接口,能够处理多种通用的协议类型,包括 HTTP,HTTP2和WebSocket,可以看成ASGI是WSGI的扩展

3.Django开发登录功能

3.1创建app应用程序

一般一个项目包含多个app应用程序(当然,通用的app也可以在多个项目中使用) 下面我们为loginweb项目,创建login

#1激活虚拟环境cd D:djangotestdjangoenvScriptsactivate#2切到django项目中cd loginweb#3创建一个叫login的应用django-admin startapp login

松勤软件测试:很详细的Django开发入门详解(图文并茂)(松勤软件测试培训可靠吗)

上述命令执行后,目录结构如下图所示

松勤软件测试:很详细的Django开发入门详解(图文并茂)(松勤软件测试培训可靠吗)

3.2注册app

app应用程序创建以后,必须把app注册到Django,才能够被Django项目所管理。我们只需要把login应用的名称,配置到 loginweb/settings.py文件中即可。如下图所示:

松勤软件测试:很详细的Django开发入门详解(图文并茂)(松勤软件测试培训可靠吗)

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 adminfrom django.urls import pathfrom login import viewsurlpatterns = [ path("admin/", admin.site.urls), path("login/",views.login)]

3.5启动Django项目

在开发环境下,我们需要在本地启动Django项目,来开发与调试我们的代 码。启动Django项目命令如下:

python manage.py runserver [port]#[port] 为应用访问端口,可以缺省不写,默认为8000。

此时,我们就可以用浏览器访问我们的项目了。结果如下图所示

访问我们写好的路由

松勤软件测试:很详细的Django开发入门详解(图文并茂)(松勤软件测试培训可靠吗)

3.6登录功能改良

在login底下新写建一个templates目录,存放编写的html前端页面

松勤软件测试:很详细的Django开发入门详解(图文并茂)(松勤软件测试培训可靠吗)

login.html

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>登录页面</title> <style> body{ text-align:center; } </style></head><body><form action="/login/" method="post"> {% csrf_token %} <h1 align="center">登录页面</h1> <p class="divs"> <label for="username">用户名:</label> <input type="text" id="username" name="username" align="center"> </p> <p class="divs">    <label for="password">密码:</label> <input type="password" id="password" name="password"> </p> <input type="submit" value="登录"> <span style="color:red">{{ error }}</span></form></body></html>

index.html

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>这里是主页</title> <style> h1 { color:red } </style></head><body> <h1>这里是主页</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 username=='songqin' 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 adminfrom django.urls import pathfrom login import viewsurlpatterns = [ 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/项目

松勤软件测试:很详细的Django开发入门详解(图文并茂)(松勤软件测试培训可靠吗)

输入不是用户名密码不是songqin/123456

松勤软件测试:很详细的Django开发入门详解(图文并茂)(松勤软件测试培训可靠吗)

输入songqin/123456点击登录 跳转到主页面

松勤软件测试:很详细的Django开发入门详解(图文并茂)(松勤软件测试培训可靠吗)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2023年4月26日 上午9:53
下一篇 2023年4月26日 上午10:09

相关推荐

  • 科研人员保密协议(医学科研项目合作协议保密)

    医学科研项目合作协议保密 尊敬的各位: 本协议旨在就医学科研项目的保密问题达成一致意见,以确保项目的机密性和安全性。 一、项目背景 近年来,医学科学研究取得了巨大的进展,但是,由于…

    科研百科 2024年4月10日
    74
  • 浙江省住建厅科研项目申报浙江省住建厅科研项目申报

    浙江省住建厅科研项目申报 随着市场经济的不断发展和科学技术的不断进步,科研项目已经成为提高我国经济建设和社会发展的重要力量。浙江省住建厅作为我国浙江省的一个重要部门,一直致力于推动…

    科研百科 2024年6月18日
    48
  • 科研项目导师推荐意见

    科研项目导师推荐意见 科研项目是推动科技创新和社会发展的重要力量。在科研项目的开展过程中,导师的作用至关重要。导师可以提供宝贵的指导和建议,帮助科研项目更好地完成。因此,在科研项目…

    科研百科 3天前
    1
  • 党建学习有差距

    党建学习有差距 在中国共产党的发展历程中,党建学习一直是一项重要的任务。然而,在新时代下,党建学习还存在一些差距。这些差距不仅导致了党的执政能力的提升,也对党的执政安全构成了威胁。…

    科研百科 2024年10月24日
    3
  • ecn变更流程的心得

    ECN变更流程的心得 随着科技的不断发展,电子化学品 (ECN) 的使用情况也在不断变化。作为一名ECN工程师,了解并掌握ECN变更流程是非常重要的。以下是我对ECN变更流程的心得…

    科研百科 2024年10月14日
    6
  • 对老党员的批评意见建议

    老党员是中国共产党的重要成员,他们为党的事业做出了巨大的贡献。然而,在一些情况下,老党员也存在一些不足之处,需要得到批评和建议。 首先,老党员在一些问题上缺乏独立思考和判断能力。例…

    科研百科 2024年12月1日
    32
  • 课题负责人变更说明(科研项目负责人更改说明)

    科研项目负责人更改说明 随着科技的不断进步,科研项目也在不断地进行中。其中,科研项目负责人的角色至关重要,他们负责项目的策划、组织、管理和实施,确保项目能够按时、按质、按量完成。然…

    科研百科 2024年8月5日
    36
  • 系统集成项目管理第12章知识点

    系统集成项目管理第12章知识点 系统集成项目管理是指通过计划,执行和控制集成项目的各个方面,以确保项目的成功交付。在系统集成项目管理中,项目团队需要协调各种资源和工作,以满足客户的…

    科研百科 2025年1月28日
    0
  • 恶意软件构建工具 KurayStealer 浮出水面(恶意软件实例)

    Uptycs 的研究人员近日发现了一个新的恶意软件构建工具 KurayStealer,被用于出售给犯罪分子使其更方便构建恶意软件。KurayStealer 是使用 Python 编…

    科研百科 2023年3月19日
    102
  • 图书馆管理系统项目计划

    图书馆管理系统项目计划 图书馆管理系统是图书馆管理中的重要组成部分,可以提高图书馆的工作效率,更好地满足读者的需求。本文将介绍图书馆管理系统项目计划,包括项目的目标、需求、计划和预…

    科研百科 2025年1月16日
    0