django——创建 Django 项目和 APP

2.创建 Django 项目和 APP

命令

  • 创建Django项目
    • django-admin startproject name
  • 创建子应用

2.1 创建工程

在使用Flask框架时,项目工程目录的组织与创建是需要我们自己手动创建完成的。

在django中,项目工程目录可以借助django提供的命令帮助我们创建。

2.1.1 创建

创建工程的命令为:

复制代码
django-admin startproject 工程名称

例如:想要在桌面的source目录中创建一个名为ezfy的项目工程,可执行如下命令:

复制代码
cd ~/Desktop/source
django-admin startproject ezfy

2.2.2 工程目录说明

查看创建的工程目录,结构如下:

  • 与项目同名的目录,此处为ezfy。
  • settings.py是项目的整体配置文件。
  • urls.py是项目的URL配置文件。
  • wsgi.py是项目与WSGI兼容的Web服务器入口。
  • manage.py是项目管理文件,通过它管理项目。

2.2.3 运行内置开发服务器

在开发阶段,django提供了一个纯python编写的轻量级web服务器,仅在开发阶段使用。

运行服务器命令如下:

shell 复制代码
python manage.py runserver ip:端口
或:
python manage.py runserver

2.3 新建应用

2.3.1 同级目录建立应用

  1. 安装 django

    shell 复制代码
    pip install django==4.2
  2. 创建项目

    shell 复制代码
    django-admin startproject ezfy

    其中 ezfy 指的是你的项目名字(projectname) ,目录如图

  3. 新建一个demo应用

    shell 复制代码
    django-admin startapp demo
  4. 创建完成后,需要到与工程名相同的文件夹下(这里是ezfy)的 settings.py 中INSTALLED_APPS进行注册。

    注册名方式1:

    注册名方式2:直接与应用名字相同

2.3.2 在目录下新建应用步骤

很多时候在同级目录下新建应用会造成文件夹众多,一般在apps包下开发多种应用,也就是集中将应用放在一个包下,这里做个演示。

  1. 安装 django

    shell 复制代码
    pip install django==4.2
  2. 创建项目

    shell 复制代码
    django-admin startproject ezfy

    其中 ezfy 指的是你的项目名字(projectname) ,目录如图

  3. 创建 app

    在指定路径下创建 app:

    新建一个apps包:

    • 先 cd 到指定路径apps
    shell 复制代码
    cd .\apps\
    • 运行
    shell 复制代码
    django-admin startapp users  

    其中 users 指的是你的应用名字,apps文件夹下回出现users文件夹

    创建完成后,需要到与工程名相同的文件夹下(这里是ezfy)的 settings.py 中INSTALLED_APPS进行注册。一定要注册!

    • 打开 apps 下users下的 apps.py文件,修改为对应的apps.users.
    • 将 name 变量赋值修改
    • 迁移应用
    • 运行

参考

DataWhale开源人工智能社区
DataWhale-Sweettalk-Django4.2

相关推荐
Elastic 中国社区官方博客7 小时前
列式存储并不等同于列式数据库。Columnar 模式为 Elasticsearch 带来了什么
大数据·运维·数据库·elasticsearch·搜索引擎
我要见SA姐17 小时前
用 Claude Code 重构遗留系统:从评估到落地的完整实践指南
数据库·ide·vscode·oracle·编辑器
Nturmoils9 小时前
一份 KDMS 评估报告,怎样排出迁移先后顺序
数据库
这个DBA有点耶9 小时前
异构数据集成怎么做?5 种同步方案对比 + 金融级 CDC 实战解析
数据库·oracle·架构
独泪了无痕9 小时前
SQL函数实战:GREATEST与LEAST的技巧
数据库·sql·mysql
码少女9 小时前
Linux--多路转接之select
java·服务器·数据库
梁辰兴10 小时前
软件工程:软件维护的副作用
数据库·软件工程·梁辰兴·控制方法·软件维护的副作用·副作用类型·副作用原因
这个DBA有点耶10 小时前
MySQL 8.0.20移除了Block Nested Loop,之前学的JOIN优化知识还适用吗?
数据库·mysql·架构
言乐610 小时前
Python + NumPy 从零实现的 BP 神经网络(反向传播)脚本模型,包含前向传播、反向传播、训练和预测,并用 XOR 数据做示例
python·django·virtualenv·pygame·tornado
吉甫作诵10 小时前
Redis 常用命令大全:11 大类命令速查手册
运维·数据库·redis·缓存·nosql