项目开发环境
Python 3.6
Django 1.11.5
Django安装
在开始安装Django之前,Django更新比较频繁,所以要选择合适的版本,这里选择Django1.11.5.
pip安装
pip install django==1.11.5
创建项目与应用
安装完成后,在../Python36/Scripts/目录下出现一个django-admin.exe的可执行文件。
打开终端,执行以下命令进行创建项目:
django-admin startproject guest #项目名guest
项目结构如下:
guest/__init__.py:一个空的文件,用它标识一个目录为Python的标准包;
guest/setting.py:Django项目的配置文件,包括Django模块应用配置、数据库配置、模板配置等;
guest/urls.py:Django项目的URL声明;
guest/wsgi.py:与WSGI兼容的Web服务器为你的项目提供服务的入口点;
manage.py:一个命令行工具,可以让你在使用Django项目时以不同的方式进行交互。
进入项目,查看manage提供的命令
> cd guest #进入guest项目
> python manaage.py #查看manage所提供的命令
创建应用
> python manage.py startapp sign #创建sign应用
Django的应用目录截图:
migrations/:用于记录models中数据的变更;
admin.py:映射models中的数据到Django自带的admin后台;
apps.py:用于应用程序的配置,在新的Django版本中新增文件;
models.py:Django的模型文件,创建应用程序数据表模型(对应数据库的相关操作);
tests.py:创建Django测试用例;
views.py:Django的视图文件,控制向前端页面显示的内容。
运行项目
Django提供了Web容器,通过‘runserver’命令就可以把项目运行起来
默认通过本机的8000端口来启动项目,直接浏览器访问:http://127.0.0.1:8000/
如果8000端口被占用,可以在启动时指定ip地址和端口号来启动项目,方法如下:
> python manage.py runserver 127.0.0.1:8001 #其中127.0.0.1位IP地址,8001为端口号
第一个Django Web页面
实现功能,页面上打印“Hello,This is my first Django Web!”
首先配置guest/settings.py文件,将sign应用添加到项目中
# Application definition INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'sign', ]
正常的页面访问需要添加访问路径,所以我们这里配置/index/路径来显示页面,在浏览器输入:http://127.0.0.1:8000/index,如图所示:
通过报错信息,可知:
- Django在项目的guest子目录下通过urls.py文件来定义URLconf
- 但是,在urls.py文件中只找到admin/路径的路由配置
- 当前URL和index/没有被找到。
根据错误提示,打开../guest/urls.py文件,添加/index/。
from django.conf.urls import url from django.contrib import admin #导入sign应用views文件 from sign import views urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^index/', views.index), ]
重新启动项目。发现又报错。。提示views.py文件没有index属性
接下来,打开/sign/views.py文件,创建index函数。
from django.http import HttpResponse # Create your views here. def index(request): return HttpResponse("Hello,This is my first Django Web!")
启动服务后,页面成功显示,第一个Django程序完成!!
本文参考:书籍《Web接口开发自动化测试基于Python语言》