使用Django创建项目及介绍

注意:创建项目之前先进入虚拟环境

第一步:创建 Django 项目

运行以下命令创建一个名为 myproject 的 Django 项目:

django-admin startproject myproject

这会生成一个名为 myproject 的文件夹,结构如下:

myproject/    # 项目容器:仅仅是一个目录,名字可以随意修改,不影响 Django 运行。manage.py # 项目管理工具:用于执行各种 Django 命令myproject/ # 这是实际的 Python 包(包含 __init__.py 文件),Django 项目的核心配置都在这里。__init__.py # ​空文件:告诉 Python 这个目录是一个 Python 包。settings.py # 项目配置:所有全局配置都在此文件urls.py     # ​URL 路由配置:定义 URL 路径与视图(View)的映射关系。asgi.py     # 用于异步服务器部署(如 Daphne),支持 WebSocket。wsgi.py     # 用于部署到 WSGI 服务器(如 Gunicorn、uWSGI)。

第二步:项目文件详细说明

1. 外层 myproject/ 文件夹
  • 项目容器:仅仅是一个目录,名字可以随意修改,不影响 Django 运行。
2. manage.py
  • 项目管理工具:用于执行各种 Django 命令,例如:
    python manage.py runserver  # 启动开发服务器
    python manage.py startapp myapp  # 创建新应用
    python manage.py migrate  # 应用数据库迁移
3. 内层 myproject/ 文件夹

这是实际的 Python 包(包含 __init__.py 文件),Django 项目的核心配置都在这里。

4. settings.py
  • 项目配置:所有全局配置都在此文件,例如:
    • INSTALLED_APPS: 已安装的应用列表(如 Django 自带应用和你创建的应用)。
    • DATABASES: 数据库配置(默认使用 SQLite)。
    • TIME_ZONE: 设置时区(如 Asia/Shanghai)。
    • STATIC_URL: 静态文件(CSS/JS/图片)的 URL 路径。
    • SECRET_KEY: 项目的安全密钥(需保密!)。
5. urls.py
  • URL 路由配置:定义 URL 路径与视图(View)的映射关系。
    from django.urls import path
    from . import viewsurlpatterns = [path('admin/', admin.site.urls),path('home/', views.home),  # 假设你有一个 home 视图
    ]
6. wsgi.py 和 asgi.py
  • 服务器部署接口
    • wsgi.py: 用于部署到 WSGI 服务器(如 Gunicorn、uWSGI)。
    • asgi.py: 用于异步服务器部署(如 Daphne),支持 WebSocket。
7. __init__.py
  • 空文件:告诉 Python 这个目录是一个 Python 包。

第三步:运行开发服务器

输入以下命令启动开发服务器:

python manage.py runserver

访问 http://127.0.0.1:8000 会看到 Django 的欢迎页面!


下一步:创建应用(App)

Django 项目由多个“应用”组成。例如,你可以创建一个名为 blog 的应用:

python manage.py startapp blog

应用内会生成 models.py(定义数据库模型)、views.py(处理业务逻辑)、admin.py(管理后台配置)等文件。


总结

  • 项目 vs 应用:一个项目包含多个应用(例如 blogusers 等),每个应用负责一个独立功能。
  • 核心文件
    • settings.py:全局配置。
    • urls.py:路由定义。
    • manage.py:命令行工具。

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

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

相关文章

CentOS 安装LAMP全过程 - 完整步骤与最佳实践

在开始搭建 LAMP 环境之前,需要确保系统已经满足以下条件: 1、操作系统:CentOS 7 或 CentOS 8 2、网络连接:系统必须能够访问互联网以下载所需的软件包 3、权限:需要 root 权限或者通过sudo 提权执行命令 先更新系…

Java基础关键_031_反射(一)

目 录 一、概述 二、获取 Class 的四种方式 1.Class.forName("完整全限定类名") 2.getClass() 3.class 属性 4.通过类加载器获取 三、通过反射机制实例化对象 1.newInstance()(已过时) 2.配置文件利用反射机制实例化对象 四、反射 Cla…

MySQL高级语句深度解析与应用实践

一、窗口函数:数据分析的利器 1. 窗口函数基础概念 窗口函数(Window Function)是MySQL 8.0引入的强大特性,它可以在不减少行数的情况下对数据进行聚合计算和分析 SELECT employee_name,department,salary,RANK() OVER (PARTITION BY department ORDER…

【机器学习基础 4】 Pandas库

一、Pandas库简介 Pandas 是一个开源的 Python 数据分析库,主要用于数据清洗、处理、探索与分析。其核心数据结构是 Series(一维数据)和 DataFrame(二维表格数据),可以让我们高效地操作结构化数据。Pandas …

ETCD --- ​租约(Lease)​详解

一、租约的核心概念 1. ​租约(Lease)​ 一个租约是一个有时间限制的“授权”,绑定到键值对上。每个租约有一个唯一的ID(64位整数),通过etcdctl或客户端API创建。创建租约时需指定TTL(Time-To-Live),即租约的有效期(单位:秒)。客户端需定期向etcd发送续约(KeepAl…

33.[前端开发-JavaScript基础]Day10-常见事件-鼠标事件-键盘事件-定时器-案例

1 window定时器 window定时器方法 setTimeout的使用 setInterval的使用 2 轮播消息提示 案例实战一 – 轮播消息提示 3 关闭隐藏消息 案例实战二 – 关闭隐藏消息 4 侧边栏展示 案例实战三 – 侧边栏展示 5 tab切换实现 案例实战四 – 登录框(作业)…

react ant design树穿梭框实现搜索并展开到子节点、同级节点选择及同时选择数量限制功能

功能点: 点击节点前的箭头,可以手动展开或折叠该节点的子节点。在搜索框中输入关键词,匹配的节点及其父节点会自动展开。清空搜索框后,恢复到用户手动控制的展开状态。勾选节点时仍然遵守 "最多勾选 6 个节点" 和 &quo…

阿里云云效 Maven

阿里云云效 Maven 官网:https://developer.aliyun.com/mvn/guide 阿里云Maven中央仓库为 阿里云云效 提供的公共代理仓库,帮助研发人员提高研发生产效率,使用阿里云Maven中央仓库作为下载源,速度更快更稳定。 阿里云云效 是企业…

Go 语言标准库中Channels,Goroutines详细功能介绍与示例

在 Go 语言中,Goroutines(协程)和 Channels(通道)是并发编程的核心组件。它们共同协作,简化了并发任务的管理和数据同步。以下通过详细示例说明它们的用法和常见模式。 1. Goroutines(协程&…

如何在 Postman 中正确设置 Session 以维持用户状态?

在 Postman 里面设置有 session 的请求。如果你还不知道什么是 session,那么请看这里—— session 是一种记录客户端和服务器之间状态的机制,用于保持用户的登录状态或者其他数据,从而让用户在不同页面之间保持一致的体验。 Postman 设置带 …

DQN与PPO在算法层面的核心区别

DQN与PPO在算法层面的核心区别 1. 学习目标不同 DQN(基于价值): 核心:学习动作价值函数 Q ( s , a ) Q(s, a)

Linux: 网络,arp的数量为什么会对交换机/路由器有性能的影响

这个问题也是非常普遍的问题。比如最近比较火的一个OVS相关的问题: ARP request packets put high pressure on the pinctrl thread in ovn-controller 另一个在工作种也遇到了相似的问题,当一个网络里发了同时发了小一百个GARP之后,路由器的gateway就会有ARP处理延迟。 A…

解析 HTML 网站架构规范

2025/3/28 向全栈工程师迈进! 一、网页基本的组成部分 网页的外观多种多样,但是除了全屏视频或游戏,或艺术作品页面,或只是结构不当的页面以外,都倾向于使用类似的标准组件。 1.1页眉 通常横跨于整个页面顶部有一…

Golang 当中 byte 和 rune 类型的区别

文章目录 Golang 当中 byte 和 rune 类型的区别类型定义与用途字符串处理差异内存占用典型引用场景 Golang 当中 byte 和 rune 类型的区别 在 Golang 中,rune 和 byte 类型的区别主要体现在字符处理的方式和编码支持上。 类型定义与用途 byte 类型 本质是 uint8…

vue将页面导出成word

方法一:使用 html-docx-js html-docx-js 是一个轻量级的库,可以将 HTML 转换为 Word 文档。 安装依赖 首先安装 html-docx-js: Bash深色版本 npm install html-docx-js --save创建导出逻辑 在 Vue 组件中实现导出功能的代码如下&#xff1…

Three.js 快速入门教程【二十】3D模型加载优化实战:使用gltf-pipeline与Draco对模型进行压缩,提高加载速度和流畅性

系列文章目录 Three.js 快速入门教程【一】开启你的 3D Web 开发之旅 Three.js 快速入门教程【二】透视投影相机 Three.js 快速入门教程【三】渲染器 Three.js 快速入门教程【四】三维坐标系 Three.js 快速入门教程【五】动画渲染循环 Three.js 快速入门教程【六】相机控件 Or…

前端框架入门:Angular

Angular 是由 Google 维护的前端框架,适用于构建单页应用(SPA)。它使用TypeScript 作为主要开发语言,并提供了强大的模块化、依赖注入(DI)、路由管理等特性。 一、Angular 基础 1. Angular 介绍 Angular 是一个组件化、模块化、双向数据绑定的前端框架,适用于构建复杂…

基于51单片机的速度检测报警器proteus仿真

地址: https://pan.baidu.com/s/1I7roZEjrk349Is_YdMcsxQ 提取码:1234 仿真图: 芯片/模块的特点: AT89C52/AT89C51简介: AT89C51 是一款常用的 8 位单片机,由 Atmel 公司(现已被 Microchip 收…

具身系列——Diffusion Policy算法实现CartPole游戏

代码原理分析 1. 核心思想 该代码实现了一个基于扩散模型(Diffusion Model)的强化学习策略网络。扩散模型通过逐步去噪过程生成动作,核心思想是: • 前向过程:通过T步逐渐将专家动作添加高斯噪声,最终变成…

DeepSeek 本地化部署教程

1 概述 1.1 配置参考图 科普: B,Billion(十亿),是 “参数量” 的单位。 模型量超过 一亿,可称之为 “大模型”。 2 软件安装 2.1 下载 Ollama 官方主页:https://ollama.com/download主页截图…