当前位置: 首页 > news >正文

创建Django项目

创建Django项目

步骤

  • 创建Django项目

    • django-admin startproject name
  • 创建子应用

    • python manager.py startapp name

 

创建工程

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

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

1. 创建

创建工程的命令为:

django-admin startproject 工程名称

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

cd ~/Desktop/Code
django-admin startproject bookmanager

执行后,会多出一个新目录名为bookmanager,此即为新创建的工程目录。

2. 工程目录说明

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

 

 

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

3. 运行开发服务器

在开发阶段,为了能够快速预览到开发的效果,django提供了一个纯python编写的轻量级web服务器,仅在开发阶段使用。

运行服务器命令如下:

python manage.py runserver ip:端口
或:
python manage.py runserver

可以不写IP和端口,默认IP是127.0.0.1,默认端口为8000

启动后可见如下信息:

 

在浏览器中输入网址“127.0.0.1:8000”便可看到效果。

 

 

  • django默认工作在调式Debug模式下,如果增加、修改、删除文件,服务器会自动重启。
  • 按ctrl+c停止服务器。

创建子应用

在Web应用中,通常有一些业务功能模块是在不同的项目中都可以复用的,故在开发中通常将工程项目拆分为不同的子功能模块,各功能模块间可以保持相对的独立,在其他工程项目中需要用到某个特定功能模块时,可以将该模块代码整体复制过去,达到复用。

在Flask框架中也有类似子功能应用模块的概念,即蓝图Blueprint。

Django的视图编写是放在子应用中的。

1. 创建

在django中,创建子应用模块目录仍然可以通过命令来操作,即:

python manage.py startapp 子应用名称

manage.py为上述创建工程时自动生成的管理文件。

例如,在刚才创建的bookmanager工程中,想要创建一个用户book子应用模块,可执行:

cd ~/Desktop/code/book
python manage.py startapp book

执行后,可以看到工程目录中多出了一个名为book的子目录。

2. 子应用目录说明

查看此时的工程目录,结构如下:

 

 

  • admin.py文件跟网站的后台管理站点配置相关。
  • apps.py文件用于配置当前子应用的相关信息。
  • migrations目录用于存放数据库迁移历史文件。
  • models.py文件用户保存数据库模型类。
  • tests.py文件用于开发测试用例,编写单元测试。
  • views.py文件用于编写Web应用视图。

3. 注册安装子应用

创建出来的子应用目录文件虽然被放到了工程项目目录中,但是django工程并不能立即直接使用该子应用,需要注册安装后才能使用。

在工程配置文件settings.py中,INSTALLED_APPS项保存了工程中已经注册安装的子应用,初始工程中的INSTALLED_APPS如下:

 

 

注册安装一个子应用的方法,即是将子应用的配置信息文件apps.py中的Config类添加到INSTALLED_APPS列表中。

例如,将刚创建的book子应用添加到工程中,可在INSTALLED_APPS列表中添加'book.apps.BookConfig'

 

 

4. 设置PyCharm的环境

问题:

 

 

首先找到pycharm的设置选项:

 

 

选择虚拟环境

 

 

 

添加虚拟环境:

 

 

添加本地虚拟环境

 

 

添加完成

 

 

一路点几个确定之后问题解决

 

http://www.lryc.cn/news/2695.html

相关文章:

  • CUDA中的统一内存
  • 利用机器学习(mediapipe)进行人脸468点的3D坐标检测--视频实时检测
  • 事务基础知识与执行计划
  • 数据库实践LAB大纲 06 INDEX
  • 网络安全实验室6.解密关
  • 了解并发编程
  • (C语言)程序环境和预处理
  • RiProV2主题美化增加支付页底部提示语ritheme主题美化
  • 2022年文章分类整理
  • 蓝牙设备中的Device UUID 与 Service UUID
  • 【学习记录】PCA主成分分析 SVD奇异值分解
  • 用 Python 调用 GPT-3 API
  • 类和对象实操之【日期类】
  • 微搭中如何实现弹性布局
  • 九龙证券|外资强势出手!这只科创板百元股,被疯狂加仓
  • 51单片机最强模块化封装(4)
  • 五、Git本地仓库基本操作——分支管理
  • vscode搭建python Django网站开发环境
  • 【mybatis】实现分页查询
  • CF1560D Make a Power of Two 题解
  • C#开发的OpenRA的读取文件的函数
  • SpringBoot结合XXL-JOB实现定时任务
  • 【Node.js】 创建web服务器
  • 基于go语言实现RestFul交互
  • 情感溢出:读《浣溪沙》
  • 深入解读.NET MAUI音乐播放器项目(一):概述与架构
  • 【Python小游戏】某程序员将套圈游戏玩儿到了巅峰,好嗨哟~Pygame代码版《牛牛套圈》已上线,大人的套圈游戏太嗨了,小孩勿进。
  • php的declare命令如何使用?
  • 嵌软工程师要掌握的硬件知识2:一文看懂什么开漏和推挽电路(open-drain / push-pull)
  • 1.2.6存储结构-磁盘管理:单缓冲区与双缓冲区读取、流水线周期、计算流水线执行时间