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

Django母婴商城项目实践(三)

3 Django框架使用

1、项目与应用

1、创建项目

  • 操作

    1. 创建项目存储目录,并切换至该路径

    2. 执行创建Django项目的命令

      • 创建Django项目命令:python -m django startproject 项目名

        # 切换到存储项目路径
        $ C:\Users\blning>cd C:\ProjectManager\PythonWeb# 创建Django项目
        $ C:\ProjectManager\PythonWeb>python -m django startproject mysite1
        
  • 项目目录结构
    在这里插入图片描述

    • 目录描述

      文件名描述
      mysite1/一个目录,它是你项目的实际 Python 包。它的名称是你需要用来导入其中任何内容的 Python 包名称
      manage.py一个让你用各种方式管理 Django 项目的命令行工具,内置多种方式与项目进行交互。
      mysite1/__init__.py一个空文件,告诉 Python 这个目录应该被认为是一个 Python 包。
      mysite1/asgi.py作为你的项目的运行在 ASGI(异步网关协议接口)兼容的 Web 服务器上的入口(介于网络协议服务和Python应用之间的标准接口)。
      mysite1/settings.pyDjango 项目的配置文件。
      mysite1/urls.pyDjango 项目的 URL 声明,设置网站的具体网站内容。
      mysite1/wsgi.py作为你的项目的运行在 WSGI(Web服务器网关接口)兼容的Web服务器上的入口(是Python应用与Web服务器之间的接口,用于Django项目在服务器上的部署和上线)。

2、创建应用

  • 介绍

    • 项目应用(Application),简称为 App,相当于网站的功能,每个App代表网站的一个功能。
  • 创建

    • 创建应用:python manage.py startapp 应用名
    # 切换至mysite1的路径
    $ C:\ProjectManager\PythonWeb>cd mysite1# 创建应用
    $ C:\ProjectManager\PythonWeb\mysite1>python manage.py startapp index
    
  • 应用目录

    在这里插入图片描述

    • 目录介绍

      文件名描述
      index/应用名路径
      index/migrations存放数据库迁移历史文件,通过数据迁移文件可自动在数据库中生成相应的数据表。
      index/__init__.py初始化文件,标识该目录是 Python 包,可让 Python 识别并导入该应用的模块 ,也可在其中编写简单初始化逻辑,使应用能被其他部分引用 。
      index/admin.py用于配置 Django 自带的后台管理站点,将模型注册到后台后,能通过可视化界面方便地对模型数据进行增、删、改、查操作,依赖 models.py 中定义的模型 。
      index/apps.py定义应用的相关配置类,比如应用名称、标签等信息,可在项目配置(如 settings.py)中引用,为应用在项目里的配置和管理提供支持 。
      index/models.py用于定义数据库模型类,描述数据库表结构(字段名称、类型、约束等 )、字段属性,以及表与表之间的关系(如外键关联 ),是数据库操作的基础,viewsadmin 等涉及数据操作和展示的文件会依赖它定义的模型 (每一个类可以关联一张数据表,实现数据持久化)。
      index/tests.py用于编写单元测试用例,测试应用各功能模块(像 views.py 里的视图逻辑、models.py 里的数据操作等 )是否正常工作,保障代码质量和稳定性 。
      index/views.py理用户请求,调用 models.py 中的模型获取数据,进行业务逻辑处理(如数据计算、筛选 ),然后决定返回给用户的内容(可以是 HTML 页面、JSON 数据等 ),以函数或类视图的形式存在,依赖 models.py 获取数据,通过 urls.py 定义的路由接收请求并返回响应 。

3、启动项目

  • 操作

    1. 切换至项目路径
    2. 运行项目启动命令

    • 项目启动命令:python manage.py runserver [端口号]
      • 说明:未设置端口号,则默认为:8000
    $ C:\ProjectManager\PythonWeb\mysite1>python manage.py runserver
    Watching for file changes with StatReloader
    Performing system checks...System check identified no issues (0 silenced).You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
    Run 'python manage.py migrate' to apply them.
    June 29, 2025 - 20:41:23
    Django version 5.2.3, using settings 'mysite1.settings'
    Starting development server at http://127.0.0.1:8000/
    Quit the server with CTRL-BREAK.WARNING: This is a development server. Do not use it in a production setting. Use a production WSGI or ASGI server instead.
    For more information on production servers see: https://docs.djangoproject.com/en/5.2/howto/deployment/
    
    • 说明:警告:这是一个开发服务器。不要在生产环境中使用它。请改用生产WSGI或ASGI服务器。有关生产服务器的更多信息,请参阅:https://docs.djangoproject.com/en/5.2/howto/deployment/

    3. 通过浏览器访问:http://127.0.0.1:8000 或 http://127.0.0.1:端口号

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

相关文章:

  • 【Luogu】每日一题——Day1. P3385 【模板】负环
  • Redis概念和基础
  • [论文阅读] 人工智能 + 软件工程 | LLM辅助软件开发:需求如何转化为代码?
  • 端口到底是个什么鬼?回答我!
  • Java大厂面试故事:谢飞机的互联网医疗系统技术面试(Spring Boot、MyBatis、Kafka、Spring Security、AI等)
  • Umi-OCR 的 Docker安装(win制作镜像,Linux(Ubuntu Server 22.04)离线部署)
  • TensorFlow2 study notes[1]
  • 【每日算法】专题八_分治_归并排序
  • The Practice of Programming
  • 【2025/07/11】GitHub 今日热门项目
  • 2025十大免费销售管理软件推荐
  • AIGC(生成式AI)试用 33 -- 用AI学AI名词
  • [spring6: @EnableLoadTimeWeaving]-使用案例
  • 人脸图像生成(DCGAN)
  • Linux入门篇学习——Linux 编写第一个自己的命令,make 工具和 makefile 文件
  • C++编程基础
  • 大模型在卵巢癌预测及诊疗方案制定中的应用研究
  • Linux驱动基本概念(内核态、用户态、模块、加载、卸载、设备注册、字符设备)
  • Allegro 17.4操作记录
  • 【理念●体系】从零打造 Windows + WSL + Docker + Anaconda + PyCharm 的 AI 全链路开发体系
  • 数据库系统的基础知识(三)
  • uniapp---入门、基本配置了解
  • spring-ai RAG(Retrieval-Augmented Generation)
  • ESP32_启动日志分析
  • 力扣 hot100 Day41
  • RLHF:人类反馈强化学习 | 对齐AI与人类价值观的核心引擎
  • Linux711 Mysql
  • openpilot:为您的汽车插上智能驾驶的翅膀
  • 创意总监的动态视觉秘诀:用AE动态遮罩AI,轻松实现“人景分离”
  • 【每日刷题】加一