【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',  # 定义应用
]
相关推荐
计算机学姐11 分钟前
基于Python的高校成绩分析管理系统
开发语言·vue.js·后端·python·mysql·pycharm·django
北京_宏哥15 分钟前
《最新出炉》系列入门篇-Python+Playwright自动化测试-50-滚动条操作
python·前端框架·测试
激流丶17 分钟前
【Mysql 底层原理】MySQL 查询优化器的工作原理:如何生成最优执行计划
数据库·mysql·explain·执行计划
九年义务漏网鲨鱼17 分钟前
【人脸伪造检测后门攻击】 Exploring Frequency Adversarial Attacks for Face Forgery Detection
论文阅读·python·算法·aigc
天冬忘忧32 分钟前
Spark 共享变量:广播变量与累加器解析
大数据·python·spark
雷神乐乐33 分钟前
Sqoop学习
数据库·sqoop
小丑西瓜66638 分钟前
MySQL库操作
linux·服务器·数据库·mysql
wclass-zhengge43 分钟前
SpringCloud篇(服务拆分 / 远程调用 - 入门案例)
后端·spring·spring cloud
谦谦均43 分钟前
PostgreSQL序列:创建、管理与高效应用指南
数据库·postgresql
NK.MainJay1 小时前
Go语言 HTTP 服务模糊测试教程
python·http·golang