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

使用Django创建项目及介绍

注意:创建项目之前先进入虚拟环境

第一步:创建 Django 项目

运行以下命令创建一个名为 myproject 的 Django 项目:

django-admin startproject myproject

这会生成一个名为 myproject 的文件夹,结构如下:

myproject/    # 项目容器:仅仅是一个目录,名字可以随意修改,不影响 Django 运行。
    manage.py # 项目管理工具:用于执行各种 Django 命令
    myproject/ # 这是实际的 Python 包(包含 __init__.py 文件),Django 项目的核心配置都在这里。
        __init__.py # ​空文件:告诉 Python 这个目录是一个 Python 包。
        settings.py # 项目配置:所有全局配置都在此文件
        urls.py     # ​URL 路由配置:定义 URL 路径与视图(View)的映射关系。
        asgi.py     # 用于异步服务器部署(如 Daphne),支持 WebSocket。
        wsgi.py     # 用于部署到 WSGI 服务器(如 Gunicorn、uWSGI)。

第二步:项目文件详细说明

1. 外层 myproject/ 文件夹
  • 项目容器:仅仅是一个目录,名字可以随意修改,不影响 Django 运行。
2. manage.py
  • 项目管理工具:用于执行各种 Django 命令,例如:
    python manage.py runserver  # 启动开发服务器
    python manage.py startapp myapp  # 创建新应用
    python manage.py migrate  # 应用数据库迁移
3. 内层 myproject/ 文件夹

这是实际的 Python 包(包含 __init__.py 文件),Django 项目的核心配置都在这里。

4. settings.py
  • 项目配置:所有全局配置都在此文件,例如:
    • INSTALLED_APPS: 已安装的应用列表(如 Django 自带应用和你创建的应用)。
    • DATABASES: 数据库配置(默认使用 SQLite)。
    • TIME_ZONE: 设置时区(如 Asia/Shanghai)。
    • STATIC_URL: 静态文件(CSS/JS/图片)的 URL 路径。
    • SECRET_KEY: 项目的安全密钥(需保密!)。
5. urls.py
  • URL 路由配置:定义 URL 路径与视图(View)的映射关系。
    from django.urls import path
    from . import views
    
    urlpatterns = [
        path('admin/', admin.site.urls),
        path('home/', views.home),  # 假设你有一个 home 视图
    ]
6. wsgi.py 和 asgi.py
  • 服务器部署接口
    • wsgi.py: 用于部署到 WSGI 服务器(如 Gunicorn、uWSGI)。
    • asgi.py: 用于异步服务器部署(如 Daphne),支持 WebSocket。
7. __init__.py
  • 空文件:告诉 Python 这个目录是一个 Python 包。

第三步:运行开发服务器

输入以下命令启动开发服务器:

python manage.py runserver

访问 http://127.0.0.1:8000 会看到 Django 的欢迎页面!


下一步:创建应用(App)

Django 项目由多个“应用”组成。例如,你可以创建一个名为 blog 的应用:

python manage.py startapp blog

应用内会生成 models.py(定义数据库模型)、views.py(处理业务逻辑)、admin.py(管理后台配置)等文件。


总结

  • 项目 vs 应用:一个项目包含多个应用(例如 blogusers 等),每个应用负责一个独立功能。
  • 核心文件
    • settings.py:全局配置。
    • urls.py:路由定义。
    • manage.py:命令行工具。

http://www.kler.cn/a/613391.html

相关文章:

  • knowledge-vscode中配置java环境(JDK-8下载,配置 Maven 并创建项目)
  • 从系统架构、API对接核心技术、业务场景设计及实战案例四个维度,深度解析1688代采系统
  • 微服务中的服务发现与注册中心
  • Rabbitmq消息被消费时抛异常,进入Unacked 状态,进而导致消费者不断尝试消费(下)
  • 实现类今日头条主界面:ViewPager与TabLayout深度整合
  • 【空间变换】欧拉角与四元数
  • SQL的核心基础语法 | 快速入门MySQL
  • 【算法手记6】NC1 大数加法 NC40 链表相加(二) NC10 大数乘法
  • java开发环境本地全套
  • Linux-NFS服务的故障排查与优化
  • DATEDIFF 函数
  • 蓝桥Python真题——扫雷
  • 宝塔SSL申请Let‘s Encrypt提示“验证信息构造失败!{}“
  • 【Linux】进程控制和Shell的简易实现
  • 深入剖析Redis分布式锁:Redlock算法源码解读与实战
  • 【学Rust写CAD】15 定点数实现(fixed.rs)
  • Linux文件目录管理指令详解(下篇)
  • C语言之链表增删查改
  • CSS3学习教程,从入门到精通,CSS3 弹性盒子(Flexbox)布局全面指南(20)
  • 一款超级好用且开源免费的数据可视化工具——Superset