【Django】创建应用

【Django】创建项目、创建应用

01_创建项目

简单了解了Django框架,现在我们开始创建一个Django项目,这里我们使用的是PyCharm,打开Pycharm创建我们第一个Django项目,如下图所示:

这里我们选择了Project venv,表示在项目创建虚拟环境,大家可以根据需求选择Base conda或Custom environment,点击create后,如下图所示:

可以发现pycharm为我们创建了很多文件,在Django文件夹中:

  • --init--.py:初始化配置文件,暂无内容;
  • settings.py:Django项目配置文件,主要定义所引用的组件、项目名、数据库、静态资源等等;
  • urls.py:维护项目的URL路由映射,即定义客户端访问时由哪个模块进行响应;
  • wsgi.py:Python服务网关接口,是Python应用与web服务器之间的接口,用于Django项目在服务器上的部署上线,一般不需要修改;
  • asgi.py:定义ASGI的接口信息和WSGI类似,在3.0以后新增ASGI,相比WSGI、ASGI实现了异步处理,用于启动异步通信服务;
  • manage.py:是Django用于管理命令行工具,当进行站点运行,数据库自动生成等都是通过本文件完成;

在user应用文件夹中:

  • migrations:迁移文件夹;
  • --init--.py:初始化配置文件,使得文件夹成为一个包;
  • admin.py:后台管理系统配置文件,当我们用到后台管理系统的时候,需要用到这个文件,管理站点模型的声明文件;
  • apps.py:当前应用配置文件,在其中生成了AppConfig,该类用于定义应用名等数据;
  • models.py:模板文件,添加模型层数据类型;
  • tests.py:测试程序文件;
  • views.py:视图文件,定义URL相应函数;

我们主要用到的文件有settings.pyurls.pymodels.py、views.py文件。

02_运行项目

创建好项目后,我们运行项目,在Terminal终端运行,运行的代码格式如下:

python manage.py runserver ip:端口

当ip和端口都不写时,默认的ip为127.0.0.1,端口为8000

示例代码如下:

python manage.py runserver  # 默认
python manage.py runserver 127.0.0.1:5000   # 指定端口

运行结果为:

红框里面的内容简单知道是什么就行了,后面的文章会讲解。点击http://127.0.0.1:8000/,如下图所示:

好了,恭喜你,已经成功创建并运行Django项目了。

03_创建应用

在Flask框架中,创建应用只需右键点击创建包即可,但在Django框架中,需要执行如下代码创建应用:

python 复制代码
python manage.py startapp Product

其中Product为我们的应用名,如下图所示:

这样就成功创建了应用,创建了应用后,需要在settings.py文件中INSTALLED_APPS变量定义应用,示例代码如下:

python 复制代码
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'Product.apps.ProductConfig',  # 定义应用
]
相关推荐
XINGTECODE16 分钟前
海盗王集成网关和商城服务端功能golang版
开发语言·后端·golang
程序猿进阶22 分钟前
堆外内存泄露排查经历
java·jvm·后端·面试·性能优化·oom·内存泄露
FIN技术铺26 分钟前
Spring Boot框架Starter组件整理
java·spring boot·后端
gma99942 分钟前
Etcd 框架
数据库·etcd
好看资源平台1 小时前
网络爬虫——综合实战项目:多平台房源信息采集与分析系统
爬虫·python
爱吃青椒不爱吃西红柿‍️1 小时前
华为ASP与CSP是什么?
服务器·前端·数据库
凡人的AI工具箱1 小时前
15分钟学 Go 第 60 天 :综合项目展示 - 构建微服务电商平台(完整示例25000字)
开发语言·后端·微服务·架构·golang
陈王卜1 小时前
django+boostrap实现发布博客权限控制
java·前端·django
先天牛马圣体1 小时前
如何提升大型AI模型的智能水平
后端
java亮小白19971 小时前
Spring循环依赖如何解决的?
java·后端·spring