
本文共 3786 字,大约阅读时间需要 12 分钟。
让我们从创建项目开始,逐步完善一个功能性的Django应用程序。
1. 创建并激活虚拟环境
首先,我们创建一个虚拟环境来isolated地安装和运行项目依赖项。在终端中执行以下命令:
python -m venv myenvsource myenv/bin/activate # 在Mac/Linux上
这样我们可以确保项目依赖不会干扰到全局Python环境。
2. 安装必要的应用程序
运行以下命令安装Django以及相关工具:
pip install djangopip install pillow # 如果你打算使用图像处理功能
3. 创建一个新的Django项目
使用 django-admin.py
工具创建一个空的Django项目:
django-admin startproject zqxt
接下来,进入项目的根目录:
cd zqxt
4. 安装及配置所需的Django模块
在Django项目的根目录下,创建 settings.py
文件,然后添加以下内容:
import osfrom pathlib import PathBASE_DIR = Path(__file__).resolve().parent.parentSECRET_KEY = 'django-insecure-your-secret-key-here'DEBUG = TrueALLOWED_HOSTS = ['*']INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'zqxt.views',]MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware',]ROOT_URLCONF = 'zqxt.urls'TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', ], }, },]WSGI_APPLICATION = 'zqxt.wsgi.application'DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), }}AUTH_PASSWORD_VALIDATORS = [ { 'NAME': 'django.contrib.auth.passwordvalidation.Validator', }, { 'NAME': 'django.contrib.auth.passwordvalidation.MinimumLengthValidator', }, { 'NAME': 'django.contrib.auth.passwordvalidation.UserAttributeSimilarityValidator', }, { 'NAME': 'django.contrib.auth.passwordvalidation.NeedToConfirmPasswordValidator', },]LANGUAGE_CODE = 'zh-cn'TIME_ZONE = 'UTC'USE_I18N = TrueUSE_L10N = TrueUSE_TZ = TrueSTATIC_URL = 'static/'DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
5. 创建一个简单的视图函数( views.py)
按照需求,创建一个用于处理添加功能的视图函数(存放在 zqxt/views.py
文件中)。
from django.shortcuts import renderfrom django.shortcuts import HttpResponsefrom django.http import HttpRequestfrom django.http import HttpResponseRedirectdef add(request): a = request.GET.get('a', 0) b = request.GET.get('b', 0) return HttpResponse(f"结果是{a + b}")
这就是一个简单的处理GET请求的函数,它从请求中提取参数 a
和 b
,并返回其和数值的结果。
6. 配置URL( urls.py文件)
在 zqxt/urls.py
文件中,将URL配置与视图函数对应起来:
from django.urls import pathfrom zqxt import viewsurlpatterns = [ path('add/', views.add, name='add'),]
这样,当用户访问 /add/
URL时,就会调用我们定义的 add
视图函数。
7. 启动开发服务器
在项目根目录下运行:
python manage.py runserver
默认情况下,Django会打开开发服务器,地址是 http://localhost:8000
,你可以稍后访问它。
8. 测试添加功能
打开浏览器,访问 http://localhost:8000/add/?a=4&b=5
,应看到返回值 9
。你可以尝试修改 a
和 b
的值,看到结果如何变化。
9. 添加第二个视图函数
为了演示URL参数的动态特性,我们可以创建一个新视图函数 add2
(存放在同一文件中):
def add2(request, a, b): return HttpResponse(f"结果是{int(a) + int(b)}"
相应地,在 urls.py
文件中添加下面的路径:
from django.urls import pathfrom . import viewsurlpatterns = [ path('add/', views.add, name='add'), path('add/(\d+)/(\d+)/', views.add2, name='add2'),]
现在,访问 http://localhost:8000/add/4/5/
也会显示 9
的结果。
通过这些步骤,你已经建立了一个基本的Django项目,能够通过URL参数来实现简单的数据处理。如果需要,可以继续添加更多功能,如DB involvement、模板渲染等等。