本文记录在windows下创建一个项目的过程。使用Django1.9.10创建一个web的基本流程包括:创建Django项目;创建Django应用;编写视图;映射url。以下按步骤创建一个web项目。
步骤一:创建Django项目
执行以下命令: django-admin startproject test_project

在对应目录下会看到创建了test_project项目,如下图:

在这个目录会看到两个内容:
❏ 另一个与项目同名的目录
❏ 一个 Python 脚本,名为 manage.py
在内部的test_project目录中会看到 4 个 Python 脚本,简单介绍如下:
❏ __init__.py:一个空 Python 脚本,存在的目的是告诉 Python 解释器,这个目录是一个Python 包;
❏ settings.py:存放 Django 项目的所有设置;
❏ urls.py:存放项目的 URL 模式;
❏ wsgi.py:用于运行开发服务器和把项目部署到生产环境的一个 Python 脚本。
项目目录中有个名为 manage.py 的文件,在开发过程中时常用到。它提供了一系列维护 Django 项目的命令,例如通过它可以运行内置的 Django 开发服务器,可以测试应用,还可以运行多个数据库命令。几乎每个 Django 命令都要调用这个脚本。
步骤二:创建Django应用
进入Django项目所在目录test_project,执行以下命令:
python manage.py startapp test_app

在项目的根目录中创建了一个新目录test_app。

包含以下 Python 脚本:
❏ __init__.py:与前面那个的作用完全一样;
❏ admin.py:注册模型,让 Django 为你创建管理界面;
❏ apps.py:当前应用的配置;
❏ models.py:存放应用的数据模型,即数据的实体及其之间的关系;
❏ tests.py:存放测试应用代码的函数;
❏ views.py:存放处理请求并返回响应的函数;
❏ migrations 目录:存放与模型有关的数据库信息。
views.py 和 models.py 是任何应用中都有的两个文件,是 Django 所采用的设计模式(即“模型-视图-模板”模式)的主要部分。
在动手创建模型和视图之前,必须告诉 Django 项目这个新应用的存在。为此,要修改项目配置目录中的 settings.py 文件。打开那个文件,找到 INSTALLED_APPS 列表,把 test_app 添加到末尾:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'test_app',
]
再次运行开发服务器,确认 Django 识别了这个新应用。如果能正常启动开发服务器,没有任何错误,说明新应用已经成功识别,可以进入下一步了。
python manage.py runserver 0.0.0.0:5555

步骤三:创建视图
创建好test_app应用后,编写一个简单的视图。在所选择的 IDE 中打开test_app目录里的 views.py 文件。在 # Create your views here 这行注释后加入以下代码:
from django.http import HttpResponse
def index(request):
return HttpResponse("test_app says hey there partner!")
下面分析一下这三行代码,看这个简单的视图是如何运作的:
❏ 首先,从 django.http 模块中导入 HttpResponse 对象。
❏ 在 views.py 文件中,一个函数就是一个视图。这里我们只编写了一个视图,即 index。
❏ 视图函数至少有一个参数,即一个 HttpRequest 对象,它也在 django.http 模块中。按约定,这个参数名为 request,不过你可以根据自己的意愿随意使用其他名称。
❏ 视图必须返回一个 HttpResponse 对象。简单的 HttpResponse 对象的参数是一个字符串,表示要发给客户端的页面内容。
有了视图还不行,为了让用户能访问视图,要把一个统一资源定位地址(Uniform Resource Locator, URL)映射到视图上。为此,打开项目配置目录中的 urls.py 文件,在 urlpatterns 中添加一行代码:
from test_app import views
urlpatterns = [
url(r'^$', views.index, name='index'),
url(r'^admin/', admin.site.urls),
]
新加的那行代码把根 URL 映射到 test_app应用的 index 视图上。启动开发服务器(pythonmanage.py runserver),访问 http://127.0.0.1:8000 或你指定的其他地址。你将看到 index 视图渲染的输出。
步骤四:映射url
为了提升模块化程度,我们可以换种方式把入站 URL 映射到视图上,而不直接在项目层设置。首先,要修改项目的 urls.py 文件,把针对 test_app 应用的请求交给 test_app 应用处理。然后,在 test_app应用中指定如何处理请求。
首先,打开项目配置目录中的 urls.py 文件。相对 workspace 目录而言,这个文件的地址是<workspace>/test_project/test_project/urls.py。把 urlpatterns 列表改成下面这样:
from django.conf.urls import url
from django.contrib import admin
from django.conf.urls import include
from test_app import views
urlpatterns = [
url(r'^$', views.index, name='index'),
url(r'^test_app/', include('test_app.urls')), # 把以 rango/ 开头的 URL 交给 rango 应用处理
url(r'^admin/', admin.site.urls),
]
根据上述设置,我们要在 rango 应用的目录中新建 urls.py 文件,让它处理余下的 URL(即把空字符串映射到 index 视图上):
from django.conf.urls import url
from test_app import views
urlpatterns = [
url(r'^$', views.index, name='index'),
]
重启 Django 开发服务器,然后访问 http://127.0.0.1:8000/test_app/。如果一切正常,将看到以下界面:

本文详细介绍在Windows环境下使用Django 1.9.10创建Web项目的过程,包括项目和应用的创建、视图编写及URL映射,适合初学者快速上手。

5万+

被折叠的 条评论
为什么被折叠?



