Django — 介绍和搭建

news2024/10/6 5:57:54

目录

  • 一、介绍
  • 二、虚拟环境
    • 1、作用
    • 2、创建
      • 2.1、安装虚拟环境模块
      • 2.2、创建文件夹
      • 2.3、配置环境变量
  • 三、项目创建
  • 四、目录介绍
    • 1、manage.py
    • 2、__ init __.py
    • 3、asgi.py
    • 4、settings.py
    • 5、urls.py
    • 6、wsgi.py
  • 五、启动服务
    • 1、配置启动服务
    • 2、从终端启动
  • 六、创建子应用
    • 1、子应用
    • 2、创建子应用
    • 3、将文件设置成根目录
    • 4、注册子应用

一、介绍

Django 是一个由 Python 编写的一个开放源代码的 Web 应用框架

框架模式:MVT(Model-View-Template)

  • 模型(Model):模型负责定义应用程序中的数据结构,与数据库进行交互。

  • 视图(View):视图负责处理用户的请求并生成响应,实现业务逻辑。

  • 模板(Template):模板是用于生成最终输出的文件,包含 HTML、CSS 和一些模板标签的文件,用于展示数据。

在这里插入图片描述

二、虚拟环境

1、作用

虚拟环境是一个独立于系统的 Python 环境,可以在同一台机器上同时管理多个项目,每个项目都有自己的依赖库和 Python 版本,确保项目之间不会相互干扰。每个虚拟环境都有自己的 Python 解释器和安装的包,使得项目之间的依赖冲突最小化。

2、创建

2.1、安装虚拟环境模块

在终端输入命令:

pip install virtualenv

pip install virtualenvwrapper-win

2.2、创建文件夹

用来存储虚拟环境

2.3、配置环境变量

1、在桌面上“此电脑”图标上右击,选择“属性”,选择“高级系统设置”

2、选择“高级”,点击“环境变量”

在这里插入图片描述

3、找到系统变量,点击“新建”

在这里插入图片描述

4、填入变量名和变量值,变量值为之前创建的用来存储虚拟环境的文件夹路径,点击“确定”

变量名输入:WORKON_HOME

变量值输入:F:\Django\ENVS

在这里插入图片描述

5、在终端输入命令

pip list:显示出安装在当前 Python 环境中的所有包的名称和版本号

mkvirtualenv 虚拟环境名:创建虚拟环境

(在想要存放的文件夹路径里输入 cmd,之后输入命令)

在这里插入图片描述

workon:显示所有虚拟环境

在这里插入图片描述

workon 虚拟环境名:进入指定虚拟环境(前面的(MyProject1)表示现在在名为 MyProject1 的虚拟环境下)

在这里插入图片描述

deactivate:退出虚拟环境

在这里插入图片描述

三、项目创建

1、创建一个文件夹,用来存放项目

2、用 Pycharm 打开文件夹,点击“文件”,选择“设置”

在这里插入图片描述

3、选择“项目”,点击“Python 解释器”

在这里插入图片描述

4、点击“添加解释器”,点击“添加本地解释器”

在这里插入图片描述

5、选择“系统解释器”,选择创建好的虚拟环境下的 python.exe 文件后,点击“确定”

在这里插入图片描述

6、点击“应用”,点击“确定”

在这里插入图片描述

7、可以在“终端”里输入命令 pip list 查看所有包的名称和版本号

在这里插入图片描述

8、安装 Django

命令:pip install django==3.1.7

在这里插入图片描述

9、创建项目

命令:django-admin startproject 项目名

运行后,会自动生成一些文件,此时,项目就创建好了

在这里插入图片描述

四、目录介绍

1、manage.py

用于管理 Django 项目的命令行工具。通过在终端中运行 python manage.py,可以执行各种与项目相关的操作,如运行开发服务器、数据库迁移、创建超级用户等。

2、__ init __.py

这是一个空的 Python 模块文件,用于将项目目录标记为 Python 的包。它可以使得在项目中的其它文件可以作为 Python 模块被导入和使用。

3、asgi.py

这是一个 ASGI(异步服务器网关接口)应用的入口点。ASGI 是一种 Web 服务器与 Python 应用程序之间进行通信的标准接口。asgi.py 文件用于配置和启动 ASGI 服务器,以便在生产环境中运行 Django 应用程序。

4、settings.py

这是 Django 项目的核心配置文件,包含项目的各种设置和选项。可以在这个文件中配置数据库连接、静态文件路径、应用程序列表、国际化设置等。大部分项目的全局配置都可以在这个文件中找到。

5、urls.py

这是 Django 项目的 URL 配置文件。它定义了项目中的 URL 模式和对应的视图处理函数。可以在这个文件中定义 URL 路由,将不同的 URL 请求映射到相应的视图函数处理。

6、wsgi.py

这是一个 WSGI(Web 服务器网关接口)应用的入口点。WSGI 是一种 Web 服务器与 Python 应用程序之间进行通信的标准接口。wsgi.py 文件用于配置和启动 WSGI 服务器,以便在生产环境中运行 Django 应用程序。

五、启动服务

1、配置启动服务

1、在 manage.py 里运行代码

在这里插入图片描述

2、点击“编辑配置”

在这里插入图片描述

3、在“形参”里输入 runserver,点击“应用”,点击“确定”

在这里插入图片描述

4、再次在 manage.py 里运行代码,会出现网址,可以访问

在这里插入图片描述

2、从终端启动

命令:python manage.py runserver

在这里插入图片描述

注意:当前路径下面得有 manage.py 文件

退出终端:Ctrl + c

六、创建子应用

1、子应用

是指项目中的一个模块化组件,用于处理特定的功能或模块。一个 Django 项目可以包含多个子应用,每个子应用都可以独立开发、测试、部署和重用。

子应用通常由一个或多个模型(数据库表的定义)、视图(处理请求和响应)、模板(渲染页面)和静态文件(如 CSS、JavaScript)组成。它们可以处理项目中的特定领域或功能,例如用户身份验证、博客、新闻等。

通过将项目拆分为多个子应用,可以使代码更加模块化和可维护。每个子应用都可以专注于特定的功能,减少代码的复杂性,并提高代码的可重用性。此外,子应用之间可以通过 URL 配置进行链接,形成项目的整体架构。

2、创建子应用

命令:python manage.py startapp 应用名称

创建好后会自动生成一个文件夹

在这里插入图片描述

注意:输入 ma 后按 tab 键会自动补全成 .\manage.py

3、将文件设置成根目录

设置成根目录,方便导包,方便导类

在这里插入图片描述

4、注册子应用

先复制子应用文件夹下 apps.py 文件里的应用名 Config

在这里插入图片描述

然后再在 settings.py 里面的 INSTALLED_APPS 后面加上

子应用名.apps.应用名Config

'users.apps.UsersConfig',

在这里插入图片描述

记录学习过程,欢迎讨论交流,尊重原创,转载请注明出处~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1032648.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

小程序中如何(批量)删除会员卡

因为一些原因,可能需要删除会员卡。下面我将介绍一下小程序中如何删除会员卡的步骤,包括批量删除会员卡的操作。 1. 找到指定的会员卡。在管理员后台->会员管理处,找到需要删除的会员卡。也支持对会员卡按卡号、手机号和等级进行搜索。 2…

【深度学习实验】前馈神经网络(八):模型评价(自定义支持分批进行评价的Accuracy类)

目录 一、实验介绍 二、实验环境 1. 配置虚拟环境 2. 库版本介绍 三、实验内容 0. 导入必要的工具包 1. __init__(构造函数) 2. update函数(更新评价指标) 5. accumulate(计算准确率) 4. reset(重置评价指标) 5. 构造数据进行测试 6. 代码整合 一、实验介绍 本文将实…

基于Yolov8的工业小目标缺陷检测(5):大缺陷小缺陷一网打尽的轻量级目标检测器GiraffeDet,暴力提升工业缺陷检测能力

💡💡💡本文改进:大小缺陷一网打尽的GiraffeDet,提升处理低分辨率图像和小物体等更困难的检测能力。 GiraffeDet | 亲测在工业小目标缺陷涨点明显,原始mAP@0.5 0.679提升至0.727 收录专栏: 💡💡💡深度学习工业缺陷检测 :http://t.csdn.cn/fVSgs ✨✨✨提供…

【一】Spring Cloud 系列简介

Spring Cloud 系列简介 简介:从单体架构到分布式架构,再到微服务架构,一路经历走来spring框架也一直在与时俱进,回顾下来感觉做Java开发就是基于spring开发,spring也一路发展出了spring boot,在此基础上发…

阿里云服务器u1和经济型e系列性能差异?哪个比较好?

阿里云服务器经济型e实例和云服务器u1有什么区别?同CPU内存配置下云服务器u1性能更强,u1实例价格也要更贵一些。经济型e实例属于共享型云服务器,不同实例vCPU会争抢物理CPU资源,并导致高负载时计算性能波动不稳定,而云…

LLMs资源

一、ChatGPT 《中科院学术专业版 ChatGPT》: gpt_academic项目针对了中科院日常科研工作,基于 ChatGPT 专属定制了一整套实用性功能,用于优化学术研究以及开发日常工作流程。其中内置的工具,包括但不限于以下这些:学术…

软件测试的理论基础1

软件的生命周期 可行性研究和计划(立项) 需求分析 概要设计(测试计划) 详细设计(测试方案) 实现(开发阶段;包含单元测试) 组装测试(集成测试) 确…

十六)Stable Diffusion教程:出图流程化

今天说一个流程化出图的案例,适用很多方面。 1、得到线稿,自己画或者图生图加线稿lora出线稿;如果想sd出图调整参数不那么频繁细致,则线稿的素描关系、层次、精深要表现出来,表现清楚。 2、文生图,seed随机…

kafka的 ack 应答机制

目录 一 ack 应答机制 二 ISR 集合 一 ack 应答机制 kafka 为用户提供了三种应答级别: all,leader,0 acks :0 这一操作提供了一个最低的延迟,partition的leader接收到消息还没有写入磁盘就已经返回ack&#x…

PyCharm 远程debug 快速上手

一、方法 1. 配置远程解释器(简单高效,强烈推荐!!!) 要求: 通过 SSH 从本地机器访问远程服务器,使用任何预定义的端口从远程服务器访问本地机器,最好关掉vpn等网络代理服务。 常见…

中通快递一键查询,轻松掌握物流信息

在如今的快速发展的电商时代,快递已成为人们生活中不可或缺的一部分。随着快递业务的繁荣,快递公司也纷纷推出了各种查询方式,方便顾客随时掌握自己包裹的物流信息。在这其中,中通快递无疑是许多人选择的首选。下面,我…

合并两个升序链表,哨兵位的理解

开始时也要判断是否有一个链表本来就是空,如果是,直接返回另外一个链表 代码: struct ListNode* mergeTwoLists(struct ListNode* list1, struct ListNode* list2){if(list1NULL){return list2;}if(list2NULL){return list1;} struct ListN…

仿互站资源商城平台系统源码多款应用模版

首先安装好环境,推荐用Linux宝塔 请示:安装前请先别开防火墙,和跨站篡改 第1步上传程序到服务器, 第2步修改数据库文件,config/config.php 第3步,导入数据,根目录的数据库文件夹里面 数据.s…

SpringCloud Alibaba-Seata

接上文 SpringCloud Alibaba - Sentinel 1.简介(Seata与分布式事务) Seata官方网址https://seata.io/zh-cn/docs/overview/what-is-seata.html 2.环境搭建 首先对之前的图书借阅系统进行升级: 编写对应的服务接口。 (1&#…

操作系统:体系结构

1.内核的划分 1.术语解释 时钟管理:利用时钟断实现计时功能。原语是一种特殊的程序,具有原子性。也就是说,这段程序的运行必须一气呵成,不可被“中断”Ubuntu、Centos的开发团队,其主要工作是实现非内核功能,而内核都是用了Linux内核。 内核…

el-table-column默认选中一个复选框和只能单选事件

表格代码 <el-table ref"contractTable" v-loading"loading" :data"contractList" selection-change"contractSelectionChange" style"margin-top: 10%;"><el-table-column type"selection" width"…

【Linux】系统编程线程互斥与同步(C++)

目录 【1】线程互斥 【1.1】进程线程间的互斥相关背景概念 【1.2】互斥量mutex 【1.3】互斥量实现原理探究 【1.4】RAII的加锁风格 【2】可重入VS线程安全 【2.1】概念 【2.2】常见的线程不安全的情况 【2.3】常见的线程安全的情况 【2.4】常见不可重入的情况 【2.5…

【golang】深入理解GMP调度模型

Goroutine Go中&#xff0c;协程被称为goroutine&#xff0c;它非常轻量&#xff0c;一个goroutine只占几KB&#xff0c;并且这几KB就足够goroutine运行完&#xff0c;这就能在有限的内存空间内支持大量goroutine&#xff0c;支持了更多的并发&#xff0c;虽然一个goroutine的…

基于YOLOv8模型的条形码二维码检测系统(PyTorch+Pyside6+YOLOv8模型)

摘要&#xff1a;基于YOLOv8模型的条形码二维码检测系统可用于日常生活中检测与定位条形码与二维码目标&#xff0c;利用深度学习算法可实现图片、视频、摄像头等方式的目标检测&#xff0c;另外本系统还支持图片、视频等格式的结果可视化与结果导出。本系统采用YOLOv8目标检测…

Ubuntu 12.04增加右键命令:在终端中打开增加打开文件

Ubuntu 12.04增加右键命令&#xff1a;在终端中打开 软件中心&#xff1a;搜索nautilus-open-terminal安装 用快捷键CtrlT打开命令行输入&#xff1a; sudo apt-get install nautilus-open-terminal 重新加载文件管理器 nautilus -q 或注销再登录即要使用