Django 项目创建全攻略

发布于:2025-05-19 ⋅ 阅读:(15) ⋅ 点赞:(0)

目录

一、环境准备​

1. 安装 Python​

2. 安装虚拟环境(可选但推荐)​

3. 安装 Django​

二、创建 Django 项目​

1. 使用命令创建项目​

2. 运行开发服务器​

三、创建 Django 应用​

1. 创建应用​

2. 注册应用​

四、配置项目​

1. 数据库配置​

2. 静态文件配置​

3. 时区和语言配置​

五、编写视图和 URL​

1. 编写视图函数​

2. 配置 URL​

六、数据库迁移​

1. 生成迁移文件​

2. 执行迁移​


在当今的 Web 开发领域,Django 以其 “内置电池” 的设计理念和高效的开发模式,成为众多开发者的首选框架之一。无论是搭建小型博客系统,还是构建复杂的企业级应用,Django 都能提供完善的解决方案。本文将带领你从零开始,逐步完成一个 Django 框架项目的创建,让你快速上手 Django 开发。​

一、环境准备​

在创建 Django 项目之前,我们需要确保开发环境中已经安装了 Python。Django 对 Python 版本有一定要求,目前主流版本支持 Python 3.6 及以上,建议使用 Python 3.8 - 3.11 之间的版本,以获得最佳兼容性和性能。​

1. 安装 Python​

如果你还没有安装 Python,可以前往Python 官方网站下载对应操作系统的安装包(Windows、macOS 或 Linux)。安装过程中,记得勾选 “Add Python to PATH” 选项,这样可以方便在命令行中使用 Python 命令。​

2. 安装虚拟环境(可选但推荐)​

虚拟环境能够为每个项目创建独立的 Python 运行环境,避免不同项目之间的依赖冲突。常用的虚拟环境工具有venv(Python 内置)和virtualenv。​

使用 venv 创建虚拟环境:​

在命令行中进入你想要创建项目的目录,然后执行以下命令:​

python -m venv myenv​

这将在当前目录下创建一个名为myenv的虚拟环境。激活虚拟环境的命令因操作系统而异:​

  • 在 Windows 上:​
myenv\Scripts\activate​
  • 在 macOS 和 Linux 上:​
source myenv/bin/activate​

激活虚拟环境后,命令行提示符前面会出现虚拟环境的名称,例如(myenv) your_username@your_machine:~/project_directory$ ,表示当前处于虚拟环境中。​

使用 virtualenv 创建虚拟环境:​

pip install virtualenv​

首先安装virtual

然后创建虚拟环境:​

virtualenv myenv​

激活方式与venv类似:​

  • 在 Windows 上:​
myenv\Scripts\activate​
  • 在 macOS 和 Linux 上:​
source myenv/bin/activate​

3. 安装 Django​

在激活的虚拟环境中,使用pip命令安装 Django:​

pip install django​

安装完成后,可以通过以下命令检查 Django 是否安装成功以及查看版本信息:​

django-admin --version​

二、创建 Django 项目​

当环境准备就绪后,就可以开始创建 Django 项目了。​

1. 使用命令创建项目​

在命令行中,确保处于你希望存放项目的目录,然后执行以下命令:​

django-admin startproject myproject​

这里的myproject是项目的名称,你可以根据实际需求替换为其他名称。执行该命令后,会在当前目录下生成一个名为myproject的项目目录,其结构如下:​

myproject/
    myproject/
        __init__.py
        asgi.py
        settings.py
        urls.py
        wsgi.py
    manage.py
  • manage.py:一个命令行工具,用于与 Django 项目进行交互,例如创建应用、运行开发服务器、执行数据库迁移等。​
  • myproject/目录:包含项目的配置文件。​
  • __init__.py:一个空文件,告诉 Python 该目录是一个 Python 包。​
  • asgi.py:ASGI(异步服务器网关接口)配置文件,用于部署异步 Django 应用。​
  • settings.py:项目的配置文件,包含数据库设置、应用注册、静态文件配置等重要信息。​
  • urls.py:URL 配置文件,定义了项目的 URL 模式以及对应的视图函数。​
  • wsgi.py:WSGI(Web 服务器网关接口)配置文件,用于部署 Django 应用到生产环境的 Web 服务器。​

2. 运行开发服务器​

进入项目目录myproject,使用以下命令启动 Django 开发服务器:​

python manage.py runserver​

默认情况下,开发服务器会在http://127.0.0.1:8000/ 地址上运行。打开浏览器,访问该地址,如果看到 Django 默认的欢迎页面,说明项目创建成功。​

如果希望修改开发服务器的端口,可以在命令中指定,例如:​

python manage.py runserver 8080​

这将把开发服务器运行在http://127.0.0.1:8080/ 地址上。​

三、创建 Django 应用​

一个 Django 项目通常由多个应用组成,每个应用负责特定的功能模块,比如博客项目中的文章管理、用户管理等。​

1. 创建应用​

在项目目录myproject下,执行以下命令创建一个名为myapp的应用:​

python manage.py startapp myapp​

执行命令后,会生成一个名为myapp的应用目录,其结构如下:​

myapp/
    __init__.py
    admin.py
    apps.py
    models.py
    tests.py
    views.py
    migrations/
        __init__.py
  • admin.py:用于注册模型到 Django 管理后台,方便进行数据管理。​
  • apps.py:应用的配置文件,定义应用的相关信息。​
  • models.py:定义数据模型,用于与数据库进行交互。​
  • tests.py:编写单元测试的文件,用于测试应用的功能。​
  • views.py:定义视图函数,处理用户请求并返回响应。​
  • migrations/目录:用于存放数据库迁移文件,记录模型结构的变更历史。​

2. 注册应用​

创建应用后,需要在项目的settings.py文件中注册该应用,以便 Django 能够识别和管理它。在INSTALLED_APPS列表中添加应用的名称:​

INSTALLED_APPS = [​

...​

'myapp',​

...​

]​

四、配置项目​

Django 项目的配置主要在settings.py文件中完成,下面介绍一些常见的配置项。​

1. 数据库配置​

Django 默认使用 SQLite 数据库,如果你需要使用其他数据库,如 MySQL、PostgreSQL 等,需要进行相应的配置。​

配置 MySQL 数据库:​

首先安装mysqlclient库:​

pip install mysqlclient​

然后在settings.py中修改数据库配置:​

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME':'mydatabase',
        'USER': 'root',
        'PASSWORD': 'password',
        'HOST': '127.0.0.1',
        'PORT': '3306',
    }
}

将mydatabase、root、password替换为实际的数据库名称、用户名和密码。​

配置 PostgreSQL 数据库:​

安装psycopg2库:​

pip install psycopg2​

settings.py中修改数据库配置:​

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME':'mydatabase',
        'USER': 'postgres',
        'PASSWORD': 'password',
        'HOST': '127.0.0.1',
        'PORT': '5432',
    }
}

同样,将相关参数替换为实际值。​

2. 静态文件配置​

静态文件(如 CSS、JavaScript、图片等)是 Web 应用不可或缺的部分。在settings.py中配置静态文件的存放路径:​

STATIC_URL ='static/'​

STATICFILES_DIRS = [​

os.path.join(BASE_DIR,'static'),​

]​

STATIC_ROOT = os.path.join(BASE_DIR,'staticfiles')​

​

STATIC_URL定义了静态文件在浏览器中访问的 URL 前缀;STATICFILES_DIRS指定了项目中存放静态文件的目录;STATIC_ROOT是用于收集静态文件的目录,在部署到生产环境时会用到。​

3. 时区和语言配置​

根据项目需求,设置时区和语言:​

LANGUAGE_CODE = 'zh-hans' # 中文简体​

TIME_ZONE = 'Asia/Shanghai' # 上海时区​

USE_I18N = True​

USE_L10N = True​

USE_TZ = True​

五、编写视图和 URL​

1. 编写视图函数​

在myapp/views.py文件中编写视图函数,例如:​

from django.http import HttpResponse

def index(request):
    return HttpResponse("Hello, Django!")

这里定义了一个简单的视图函数index,当用户访问对应的 URL 时,会返回 “Hello, Django!” 的响应。​

2. 配置 URL​

在myapp目录下创建一个urls.py文件(如果不存在),用于定义应用的 URL 模式:​

from django.urls import path
from. import views

urlpatterns = [
    path('', views.index, name='index'),
]

然后在项目的myproject/urls.py文件中,将应用的 URL 配置包含进来:​

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('myapp/', include('myapp.urls')),
]

这样,当用户访问http://127.0.0.1:8000/myapp/ 时,就会调用myapp/views.py中的index视图函数。​

六、数据库迁移​

如果在models.py中定义了数据模型,需要进行数据库迁移操作,将模型结构同步到数据库中。​

1. 生成迁移文件​

在项目目录myproject下,执行以下命令:​

python manage.py makemigrations myapp​

这将根据myapp/models.py中的模型定义,在myapp/migrations/目录下生成迁移文件。​

2. 执行迁移​

执行以下命令将迁移应用到数据库:​

python manage.py migrate​

如果是首次迁移,该命令会创建 Django 默认的一些数据库表,如用户认证相关的表等。后续每次修改模型后,都需要重复这两个步骤来更新数据库结构。​

至此,一个基本的 Django 框架项目就创建完成了。你可以在此基础上继续扩展功能,添加更多的应用、视图、模型和模板,打造出满足需求的 Web 应用。