Django学习笔记:第二章django的安装和创建应用

这篇具有很好参考价值的文章主要介绍了Django学习笔记:第二章django的安装和创建应用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.安装Django

终端运行

pip install django

查看django是否安装成功

python -m django --version

1.1 安装虚拟环境

在控制台运行

pip install virtualenv

1.1.2 创建虚拟环境

在特定文件夹内打开终端运行

virtualenv -p D:\program_condition\python\python.exe env_dj
virtualenv -p python解释器所在位置 项目名称

生成

1.2激活和退出虚拟环境

进入上图的Scripts文件夹内,打开终端

activate  # 激活
deactivate.bat # 退出

1.3 安装和配置VSCode

  1. 先正常安装VSCode

  2. 再安装python插件

  3. 安装Django插件,搜索django,安装前两个

2.关于Django

特点

  • 功能完善,开发速度快,安全性强
  • 有完善的在线文档
  • 模型自带数据库ORM组件
  • 可以使用正则表达式管理路由映射,方便灵活

2.1 MVC和MTV模式

目前主流的web框架,基本上使用MVC模式开发web应用,最大优势在于可以降低系统各个模块间的耦合度。

2.1.1 MVC软件架构模式

该模式将Web应用开发分为三个层次:

  • 模型(Model):负责处理各个功能的实现。
  • 视图(View):负责页面的显示和用户的交互。包含由HTML,CSS, JS组成的各种页面。
  • 控制器(Controller):用于将用户请求转发给相应的模型进行处理,并根据模型的处理结果向用户提供相应的响应。

具体应用的例子

Web应用程序:

  • M(Model):业务逻辑,例如数据库交互和数据处理等。
  • V(View):用户界面,例如HTML和CSS等。
  • C(Controller):处理用户请求和控制用户界面,例如处理HTTP请求和调用模型逻辑等。

桌面应用程序:

  • M(Model):文本编辑器的数据模型,例如保存文本数据等。
  • V(View):用户界面,例如文本编辑器的UI界面。
  • C(Controller):处理用户输入和状态管理,例如处理用户的鼠标和键盘输入、保存文件等。

2.1.2 MTV模式

Django对MVC模式进行修改,成为MTV模式。

  • M:模型,负责业务对象和数据库的关系映射(ORM)
  • T:模板,负责页面的显示和用户的交互
  • V:视图,负责业务逻辑,并在适当的时候调用Model和Template

还包含了一个URL分发器,将一个个URL页面请求分发给不同的View进行处理。view再调用相应的Model和Template。此时,URL分发器和View共同充当了控制器(Controller)。

在MTV模式下,urls.pyviews.py 对应控制器,models.py对应模型Model,视图view对应templates下的所有文件。

3.开发第一个Django应用

3.1 创建项目

在终端进入项目文件夹,激活虚拟环境,执行

django-admin startproject mydjango  # mydjango为自定义名称

生成mydjango项目,目录:

mydjango  # 根目录 可以任意命名
│ manage.py # 一个命令行使用程序,命令行方式与Django项目交互
└─mydjango # 项目目录。这个名称不能修改
        asgi.py # 与ASGI兼容的Web服务器,为项目提供服务的入口
        settings.py # 该项目的全局配置文件
        urls.py # 该项目的路由配置文件
        wsgi.py # 兼容WSGI的Web服务器,为你的项目提供服务的入口
        __init__.py # 空文件,告诉python该目录应该被视为python包目录

3.2 创建应用

cd进入根目录,创建一个名为myapp 的应用,命令如下:

python manage.py startapp myapp  # myapp为应用名称 可自定义

应用目录结构:

myapp  # 应用目录,不能修改名称
│  admin.py # 后台管理使用
│  apps.py # 应用管理文件
│  models.py # 模型文件
│  tests.py # 测试用例
│  views.py # 视图文件
│  __init__.py # 
│
└─migrations # 该目录包含了数据迁移文件,默认包含__init__.py
      __init__.py  # 一个空文件,告诉python该目录应该被视为python包目录

创建应用后,需要在全局配置文件中手动注册:打开 mydjango\settings.py 文件,找到INSTALLED_APPS 节点,添加应用名称

3.3 处理控制器

控制器主要有视图文件views.py和路由文件urls.py组成

  • 视图函数,实现模板与模板之间的交互
  • 处理请求主要也是由视图函数完成
  • 先处理视图的动态逻辑 myapp/views.py
from django.shortcuts import render # 该方法的作用是将指定的模板进行渲染,并将渲染结果返回给客户端

# Create your views here.
from django.http import HttpResponse # 该类用于构造HTTP响应对象

def index(request): # 视图函数index,该函数接收一个request对象作为参数,该对象包含了客户端的请求信息
	return render(request, '1/index.html') # 该行调用render方法,将index.html模板进行渲染,并将渲染结果返回给客户端。在该方法中,第一个参数是request对象,第二个参数是要渲染的模板文件名

以上代码的作用是定义一个视图函数,当客户端访问该视图的时候,该视图将渲染index.html模板文件,并将渲染结果返回给客户端。

  • 处理URL请求路径mydjango\urls.py
from django.contrib import admin
from django.urls import path
from myapp import views  # 导入视图函数

urlpatterns = [
    path('index/', views.index), 
]

第四行的作用:定义了一个urlpatterns列表,该列表存储了所有的URL路由映射关系,path()方法用于定义一个路由映射规则,该方法接收两个参数,第一个参数是路由路径,第二个参数是视图函数。该例子中,path('index/', views.index)表示当用户访问localhost:8000/index/路径时,该请求将被路由到views.py文件中的index()函数进行处理。定义了一个URL路由,将localhost:8000/index/路径映射到了views.py文件中的index()函数进行处理。

3.4 处理模板

默认没有模板目录,需要手动创建,还需设置全局配置文件。

3.4.1 创建模板目录和模板文件

在manage.py的同级目录中创建templates目录。

在templates目录下创建一个 1 目录,用来保存本章的模板文件;在1 目录下新建一个index.html文件,在文件中添加

<div style = "color : red; font-size : 24px;">
	你好 Django!
</div>

创建好模板目录后,还不能直接使用,需要在全局文件中对模板目录进行注册。

3.4.2 配置全局设置文件settings.py

打开mydjango\setting.py 文件,找到TEMPLATES 选项,修改代码

import os # 导入模块
'DIRS': [os.path.join(BASE_DIR, 'templates')],

3.5 运行应用

在终端打开应用根目录,运行

python manage.py runserver

浏览器地址输入:127.0.0.1:8000 即可访问

出现一个小插曲:输入后初始页面正常

但是访问index页面无法访问,终端也没报错,停止运行后,才出现报错提示

原来是url文件中没有导入视图函数

from myapp import views

成功!
组合键 Ctrl + C 退出文章来源地址https://www.toymoban.com/news/detail-592323.html

到了这里,关于Django学习笔记:第二章django的安装和创建应用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • dx12 龙书第二章学习笔记 -- 矩阵代数

    1.矩阵及其运算 矩阵的运算 :①加②减③标量乘法 ④矩阵乘法: 矩阵乘法要有意义的条件是矩阵A的列数和矩阵B的行数必须相同,所以一般不满足交换律 ⑤转置矩阵: ⑥矩阵行列式:det A 学习行列式的主要目的是:利用它推导出求逆矩阵的公式 方阵A是可逆的,当且仅当det

    2024年02月11日
    浏览(38)
  • 【UnityShader入门精要学习笔记】第二章(3)章节答疑

    本系列为作者学习UnityShader入门精要而作的笔记,内容将包括: 书本中句子照抄 + 个人批注 项目源码 一堆新手会犯的错误 潜在的太监断更,有始无终 总之适用于同样开始学习Shader的同学们进行有取舍的参考。 (PS:章节答疑不是我答,是原作者对一些比较容易产生困惑的地

    2024年02月03日
    浏览(45)
  • Windows高级调试(学习笔记)-第二章-调试器介绍

    2.1.1 Debugger Types调试器类型 User Mode Deduggers(用户态调试器) 实时调试(Living Debugging)、事后调试(Postmortem Debugging) 三个用户态调试器:cdb.exe、nstd.exe及windbg.exe Kernel Mode Debugger(内核态调试器) 可以分析计算机系统 二个内核态调试器:kd.exe及windbg.exe 2.1.2 Debugger Commands调试器命令 buil

    2024年01月18日
    浏览(54)
  • Rx.NET in Action 第二章学习笔记

    本章节涵盖的内容: 不使用Rx的工作方式 向项目中添加Rx 创建你的第一个Rx应用程序 Rx 的目标是协调和统筹来自社交网络、传感器、用户界面事件等不同来源的基于事件的异步计算。例如,建筑物周围的监控摄像头和移动传感器会在有人靠近建筑物时触发,并从最近的摄像头

    2024年02月12日
    浏览(26)
  • 《MetaGPT智能体开发入门》学习笔记 第一章第二章

    使用从 - 通过github仓库获取MetaGPT 代码拉下来后在config文件夹中配置chatGPT key 使用的python环境为3.9.2 metaGPT代码下载后在metagpt文件夹中找statup.py文件,运行以下命令,我是没有成功可能是chatgpt没钱 智能体 = LLM+观察+思考+行动+记忆 多智能体 = 智能体+环境+SOP+评审+路由+订阅+经

    2024年01月17日
    浏览(46)
  • 【UnityShader入门精要学习笔记】第二章(2)GPU流水线

    本系列为作者学习UnityShader入门精要而作的笔记,内容将包括: 书本中句子照抄 + 个人批注 项目源码 一堆新手会犯的错误 潜在的太监断更,有始无终 总之适用于同样开始学习Shader的同学们进行有取舍的参考。 在上节笔记中,我们学习了图像渲染流水线的基本过程,从应用

    2024年02月22日
    浏览(34)
  • 《EDA技术实用教程(第六版(黄继业, 潘松))》学习笔记——第二章

    PLD(Programmable Logic Device):可编程逻辑器件 RAM(Random Access Memory):随机访问存储器 DRAM(Dynamic Random Access Memory):动态随机访问存储器 SRAM(Static Random Access Memory):静态随机访问存储器 ROM(Read-Only Memory):只读存储器 PROM(Programmable Read-Only Memory):可编程只读存储器

    2024年01月18日
    浏览(34)
  • 【UnityShader入门精要学习笔记】第二章(1)了解渲染流水线

    本系列为作者学习UnityShader入门精要而作的笔记,内容将包括: 书本中句子照抄 + 个人批注 项目源码 一堆新手会犯的错误 潜在的太监断更,有始无终 总之适用于同样开始学习Shader的同学们进行有取舍的参考。 什么是流水线?书中举了一个生产洋娃娃的例子。一个洋娃娃的

    2024年01月25日
    浏览(32)
  • Linux高性能服务器编程 学习笔记 第二章 IP协议详解

    本章从两方面探讨IP协议: 1.IP头部信息。IP头部出现在每个IP数据报中,用于指定IP通信的源端IP地址、目的端IP地址,指导IP分片和重组,指定部分通信行为。 2.IP数据报的路由和转发。IP数据报的路由和转发发生在除目标机器外的所有主机和路由器上,它们决定数据报是否应

    2024年02月09日
    浏览(28)
  • 【操作系统OS】学习笔记:第二章 进程与线程 (上)【哈工大李治军老师】

    基于本人观看学习 哈工大李治军老师主讲的操作系统课程 所做的笔记,仅进行交流分享 特此鸣谢李治军老师,操作系统的神作! 如果本篇笔记帮助到了你,还请点赞 关注 支持一下 ♡𖥦)!! 主页专栏有更多,如有疑问欢迎大家指正讨论,共同进步! 给大家跳段街舞感谢支持

    2024年02月02日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包