Django - 创建项目
Django - 创建项目
Section titled “Django - 创建项目”安装好 Django 后(参见环境设置),您就可以开始构建 Web 应用程序了。在 Django 术语中,Project(项目)代表一个完整的 Web 应用程序或网站。一个 Project 由一个或多个 App(应用)组成。App 是一个自包含的模块,提供特定的功能片段(例如,博客、用户投票系统、认证系统)。这种模块化结构有助于代码重用和组织。
创建 Project
Section titled “创建 Project”打开您的终端或命令提示符,导航到您想存储代码的目录,然后运行以下命令:
$ django-admin startproject myproject将 myproject 替换为您希望的项目名称。避免使用与内置 Python 或 Django 组件冲突的名称(例如,django、test)。
此命令将创建一个 myproject 目录,其初始结构如下:
myproject/ <-- 外部容器目录(可以重命名)├── manage.py <-- 用于项目交互的命令行工具└── myproject/ <-- 您的项目的实际 Python 包 ├── __init__.py <-- 标记此目录为 Python 包 ├── asgi.py <-- 用于异步 Web 服务器的 ASGI 入口点 ├── settings.py <-- 项目配置设置 ├── urls.py <-- 项目级别 URL 声明(目录) └── wsgi.py <-- 用于 Web 服务器的 WSGI 入口点Project 结构解释
Section titled “Project 结构解释”- 外部
myproject/目录: 项目的容器。它的名称对 Django 不重要;您可以随意重命名。 manage.py: 一个命令行工具,允许您与此 Django 项目交互。您会经常使用它来运行开发服务器、应用数据库迁移、创建应用、运行测试等。运行python manage.py help可获取可用命令列表。- 内部
myproject/目录: 您的项目的实际 Python 包。其名称用于 Python 导入(例如,import myproject.settings)。 __init__.py: 一个空文件,表示此目录应被视为一个 Python 包。settings.py: 包含您的 Django 项目的所有配置,例如数据库设置、已安装的应用、中间件、模板引擎选项、静态文件位置、安全密钥等。urls.py: 项目的主要 URL 分发器。它将传入的 URL 路由到相应的视图。可以将其视为您的 Django 驱动网站的目录。wsgi.py: 用于 WSGI 兼容 Web 服务器(如 Gunicorn、uWSGI、mod_wsgi)来提供您的项目的入口点。WSGI(Web Server Gateway Interface)是同步 Python Web 应用程序的标准。asgi.py: 用于 ASGI 兼容 Web 服务器(如 Daphne、Uvicorn、Hypercorn)来提供您的项目的入口点。ASGI(Asynchronous Server Gateway Interface)是异步 Python Web 应用程序的标准,也支持 WSGI 应用程序。
配置您的 Project (settings.py)
Section titled “配置您的 Project (settings.py)”myproject/settings.py 文件至关重要。最初,您可能需要配置:
**`DEBUG`**:`DEBUG = True`启用调试模式,提供详细的错误页面。至关重要的一点是,永远不要在生产环境中将 DEBUG 设置为 True! 它会暴露敏感配置详情。部署前请将其设置为 False。当 DEBUG 为 False 时,您还需要配置 ALLOWED_HOSTS。
DATABASES:配置数据库连接。
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': BASE_DIR / 'db.sqlite3', # BASE_DIR 在文件顶部定义 }}默认使用 SQLite,它将数据库存储在单个文件中(项目根目录下的 db.sqlite3)。这对于开发来说很方便。对于生产环境,通常会使用更健壮的数据库,如 PostgreSQL 或 MySQL。您需要更改 ENGINE(例如,django.db.backends.postgresql、django.db.backends.mysql)并相应地提供 NAME、USER、PASSWORD、HOST 和 PORT。您还需要安装相应的数据库驱动程序(例如,PostgreSQL 的 psycopg2-binary,MySQL 的 mysqlclient)。
其他重要设置包括:
INSTALLED_APPS:列出此项目中所有活动的 Django 应用程序。MIDDLEWARE:请求/响应周期中处理的中间件组件列表。TEMPLATES:模板引擎的配置。STATIC_URL、STATIC_ROOT、STATICFILES_DIRS:用于管理静态文件(CSS、JS、图像)的设置。MEDIA_URL、MEDIA_ROOT:用于管理用户上传文件(媒体文件)的设置。SECRET_KEY:用于加密签名的唯一密钥。在生产环境中请务必保密!TIME_ZONE、LANGUAGE_CODE、USE_I18N、USE_L10N、USE_TZ:国际化和时区设置。
验证您的设置
Section titled “验证您的设置”在终端中导航到外部 myproject 目录(包含 manage.py 的那个目录),并运行开发服务器:
$ python manage.py runserver您应该看到类似于以下的输出(版本号和日期可能不同):
Watching for file changes with StatReloaderPerforming system checks...
System check identified no issues (0 silenced).
September 11, 2023 - 16:30:00Django version 4.2.5, using settings 'myproject.settings'Starting development server at http://127.0.0.1:8000/Quit the server with CTRL-C.打开您的 Web 浏览器并访问 http://127.0.0.1:8000/。您应该能看到默认的 Django 欢迎页面,确认您的项目已正确设置。