Django 项目创建全攻略
目录
一、环境准备
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__.pyasgi.pysettings.pyurls.pywsgi.pymanage.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__.pyadmin.pyapps.pymodels.pytests.pyviews.pymigrations/__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 = TrueUSE_L10N = TrueUSE_TZ = True
五、编写视图和 URL
1. 编写视图函数
在myapp/views.py文件中编写视图函数,例如:
from django.http import HttpResponsedef index(request):return HttpResponse("Hello, Django!")
这里定义了一个简单的视图函数index,当用户访问对应的 URL 时,会返回 “Hello, Django!” 的响应。
2. 配置 URL
在myapp目录下创建一个urls.py文件(如果不存在),用于定义应用的 URL 模式:
from django.urls import path
from. import viewsurlpatterns = [path('', views.index, name='index'),
]
然后在项目的myproject/urls.py文件中,将应用的 URL 配置包含进来:
from django.contrib import admin
from django.urls import path, includeurlpatterns = [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 应用。