django 开发流程

71 阅读3分钟

django 快速入门

实验环境

软件准备

软件说明
Python3.8Python 编译器
PyCharm 2024.3.5开发工具
mysql数据库

模块

模块说明
django ≥ 2.5django 版本
pymysqlmysql 模块

安装 django

模块说明
django ≥ 2.5django 版本
pymysqlmysql 模块

终端执行以下代码

#检查是否有python环境,并记住该环境方便后续检查
python

#退出python环境
exit()

# django框架下载
pip install django -i https://pypi.mirrors.ustc.edu.cn/simple/

# mysql 依赖
pip install pymysql -i https://pypi.mirrors.ustc.edu.cn/simple/

image-20250815222431774

开发流程

创建 Django 项目

# cd 目标路径
cd Desktop

# 创建指令
# django-admin startproject 项目名字
django-admin startproject djangoProject

image-20250815223209765

启动 Web

# cd 项目名称
cd djangoProject

# python django启动文件 runserver ip:端口
# python ./manage.py runserver 0.0.0.0:4090
python ./manage.py runserver

image-20250815223429918

创建及注册 app

  1. 创建 app 指令

    # 创建 app 指令
    # python ./manage.py startapp app名称
    python ./manage.py startapp indexApp
    
  2. 在 项目同名文件夹/settings.py 的 INSTALLED_APPS 列表中配置安装此应用

    # 项目同名文件夹/settings.py
    
    INSTALLED_APPS = [
        # 其他省略 ...
        
        # 新添加的app, app名字.apps.类名
        'indexApp.apps.IndexappConfig',
        
        # 直接添加 注册 app 名即可(注意:版本差异会导致部分不可用)
        'indexApp',
    ]
    

django 项目结构

默认项目文件下

文件名描述
manage.pydjango 启动入口,不需要做任何改动
项目同名文件夹django 项目配置文件夹
media存放上传文件。需要手动创建文件夹
staticCSSJS、图片都放在这里边,存放静态文件。可能需要手动创建文件夹
templates里边存放 Html 文件。可能需要手动创建文件夹
app这里存放每一个 app需要手动创建文件夹
middleware中间件。需要手动创建软件包注意:创建软件包
utils存放公共的工具模块。需要手动创建软件包注意:创建软件包

image-20250425130527871

项目同名文件夹

文件名描述
asgi.py用于支持异步接口(ASGI,即 Asynchronous Server Gateway Interface)的配置文件
wsgi.py主要用于定义项目的 WSGIWeb Server Gateway Interface)入口点,以便将 Django 应用程序与 WSGI 兼容的 Web 服务器(如 Gunicorn 或 uWSGI)进行通信。
settings.py项目配置文件
urls.py路由配置

image-20250425130934206

每个 app 下的文件目录

文件名描述
urls.py分布式路由。需要手动创建.py文件
templates里边存放 Html 文件。需要手动创建文件夹
views.py后台业务代码
models.py数据库模型编写
migrations存放数据库创建文件
apps.py这个文件的主要作用是为应用提供一个集中化的配置点,允许开发者自定义应用的行为和元数据。
admin.py用于定义该应用的模型(Models)在 Django 管理后台(Admin)中的显示和管理方式
tests.py用于编写和运行测试代码的标准文件

image-20250425132033209

整体结构如下

image-20250425132122658

视图开发

在创建 app 的文件中,找到 views.py 文件

from django.http import HttpResponse

# 编写视图函数
def hello(request):
    return HttpResponse("<h1>你好 Django</h1>")

注册路由

  1. 在同名的项目文件中找到 urls.py,如果使用其他路由技术请看对应的文档

    from django.contrib import admin
    from django.urls import path, include
    # 记得引入对应的模块
    from indexApp import views
    
    urlpatterns = [
        path('admin/', admin.site.urls),
        # 注册路由
        # 这里函数就是我们自己写的 视图开发函数
        path('hello', views.hello),
    ]
    
  2. 启动Web后,请求服务器地址

    http://127.0.0.1:8000/hello/
    

    image-20250811215422412

启动 web

启动web指令

python ./manage.py runserver

PyCharm 手动设置启动项

image-20250210002135058

image-20250210002202897

image-20250210002309186

image-20250210003518435

启动文件手动添加模块

报错提示 ModuleNotFoundError: No module named '***',提示说找不到模块。

解决方案

# 根目录下/manage.py

import os
import sys
# 引入模块
from pathlib import Path


def main():
    """Run administrative tasks."""
    os.environ.setdefault('DJANGO_SETTINGS_MODULE''djangoProject.settings')
    # 添加此处的代码即可解决
    sys.path.append(os.path.join(Path(__file__).resolve().parent, 'app'))
    try:
        from django.core.management import execute_from_command_line
    except ImportError as exc:
        raise ImportError(
            "Couldn't import Django. Are you sure it's installed and "
            "available on your PYTHONPATH environment variable? Did you "
            "forget to activate a virtual environment?"
        ) from exc
    execute_from_command_line(sys.argv)


if __name__ == '__main__':
    main()