跳至主要内容

Django 2.0 - 创建第一个Django应用 - 第一部分

一般Django的网络程序开发步骤

配置开发的环境
初始化项目
启动开发服务器
创建应用
创建View
配置访问View的路由

配置项目开发环境

开发一个新的项目,第一步就是配置项目的开发环境。这里使用两个python开发环境的配置工具

pyenv:Python的版本管理工具
pipenv:官方推荐的包管理器,和pyenv配合可以快速的为每一个项目创建单独的python开发环境。

执行以下命令为教程项目创建python 3.6的开发环境

$ pipenv --python 3.6

安装Django

$ pipenv install django

检查Django的版本号,确认Django安装成功

$ pipenv run python -m django --version

________________________________

初始化项目

任何一个框架都有特定的文件结构和默认配置。django提供了django-admin这一命令行工具帮助我们初始化一个django工程的文件结构,并且初始化了一些默认配置。

$ pipenv run django-admin startproject mysite

看一下新创建的project的目录结构

mysite/
    manage.p,
    mysite/
        __init__.py
        settings.py
        urls.py
        wsgi.py

这几个文件的作用:

最外面的mysite文件夹是django项目的容器,它的名字不会影响django项目的运行,因此可以任意的更改名字。

manage.py: 命令行的辅助工具,用来和改工程进行交互。
内部的mysite:真正的python package。

mysite/settings.py: django工程的配置文件

mysite/url.py: django工程的路由配置文件

mysite/wsgi.py: WSGI服务器启动django工程的入口文件

________________________________

开发服务器

网络程序都是需要运行在服务器上面的。我们平常开发的时候需要一个开发服务器,方便我们随时查看代码的更开情况。当然最好还是写单元测试和集成测试。

启动开发服务器的命令:

pipenv run python manage.py runserver



开发服务器启动后,终端会输出如下信息:






默认情况下,开发服务器会运行在http://127.0.0.1:8000地址。

注意的是,刚才启动的服务器只能作为开发使用。在实际部署到生产环境的时候,我们需要使用类似apache的生产环境服务器。

________________________________

创建投票应用

采用django创建的工程包括两个层级,一个是叫工程,另外一个是工程下面的应用。一个工程可以包含多个应用。

首先在工程目录下创建一个应用

$ pipenv run manage.py startapp polls



现在我们项目的文件目录会变成如下图所示:




项目文件目录

________________________________

创建第一个View

第一步是修改polls/view.js文件,创建第一个view

每一个view对应一个python的函数,第一个参数是HttpRequest实例。HttpRequest在本教程中使用不懂,会在以后的教程中进行介绍。

from django.http import HttpResponse

def index(request):
    return HttpResponse("Hello, world. You're at the polls index.")

第二部就是配置访问该View的路由路径。路由配置分成两个层级,一个是在应用层配置路由,另外一个是在工程层配置路由。

修改polls/urls.py配置应用层路由

from django.urls import path

from . import views

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

修改mysite/urls.py配置工程层路由

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

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

这种分级的路由配置模式有利于我们对应用进行插拔。当我们需要修改、更换或者删除某个应用的时候,我们只需要将工程级路由进行更改即可。

值得注意的是开发服务器具有热更新的功能,任何代码的更新会引起服务器的自动重载。如果你发现服务器没有重载,你也可以使用下面这条命令重新启动开发服务器。

pipenv run python manage.py runserver

使用地址http://localhost:8000/polls/访问新的投票应用






投票应用

评论

此博客中的热门博文

中国研制的这套地铁隧道施工利器,比变形金刚还炫酷

人类的铁路建设至今已有近200年的历史。   1825年,世界上第一条永久性铁路,全长31.8公里的英国斯托克顿—达灵顿铁路正式通车,标志着近代铁路运输业的开端。
人类的第一条铁路   在过去,修建铁路全靠人拉肩扛。人们将用沥青浸过的枕木铺在路基上,再由几十个人一齐合作,将长长的铁轨搬起铺在枕木上。   用这种方式铺设的铁路位置误差大,铁轨之间还留有很大的缝隙,能够容许的列车通行时速也相当低。这样修建铁路的方式不仅效率极低,同时也是对劳动者的严重摧残,美国的太平洋铁路就被人称为"每根枕木下面都有一具华工的尸骨"。   随着时代进步,列车的运行越来越快,对轨道误差控制的要求也越来越高。尤其是现如今高速铁路与城市轨道交通的修建,对轨道的平整程度要求极高,已经不再采用传统的枕木,而是以预制混凝土板作为底座,其上安装的钢轨则是以很强的预应力被牢牢钉在混凝土板上的,不会因为温度变化而发生伸缩。这样的钢轨几十公里也没有一个缝隙,可以保障列车的高速通行。
高铁的路基   不过,要想铺设这样的铁轨,凭借人力是不可能完成的,这就需要自动铺轨车的帮助。 (一)传统铺轨车应用繁琐,需要专门为它建轨道   人们应用自动铺轨车的历史已有几十年。   它类似于一种复杂的门式起重机,伴随着铁路线的延伸而向前运行。它可以在人的操纵下将几十吨重的混凝土底板和钢轨精确地放置在指定位置,相比起人工铺设,大大提高了施工效率。   传统的铺轨车虽然铺设效率很高,但为它服务却需要大量的资源和工期,其中最麻烦之处就在于,铺轨车本身也要依靠轨道才能行进。它的专用轨道虽然无需像铁路主线上的铁轨那样精密,但仍然需要事先专门修建。   在本就十分狭窄的地下铁路隧道中修建专门轨道,施工难度高,工序极其繁琐。
传统铺轨车的施工现场   此外,由于传统铺轨车必须依托铁轨进行移动,因此根本没有自主的转场能力。要想运输它,只能先行拆卸,送到施工现场再进行组装。这极大增加了现场的工程量,占用了大量的劳动力,而且拖延了工期。
地铁的施工环境十分狭小,限制了工程设备的展开   为了提高生产力,工程师们急需一种使用灵活、转场方便、自动化水平更高的铺轨车。 (二)地铁隧道里的"变形金刚"?中国研发轮式铺轨车   正是在这种迫切需求的驱动下,中铁四局八分公司成功研制出了轮胎式铺轨车和多功能运输车两个配套铺…

人类在金属焊接上有什么骚操作?来了解下搅拌摩擦焊~

金属中,由于质量较轻,铝和镁常常被用于航天航空器的结构中。然而,这些轻质金属的合金可焊接性极差,用普通的熔焊工艺进行焊接,很容易出现热裂纹、气孔和夹渣等缺陷。纵使高超的技术和工艺可以降低焊接缺陷产生的概率,但熔焊时高温带来的热量和毒烟,对操作者的健康也会是巨大的威胁。   那么,有没有一种焊接技术,可以从根本上解决这些问题呢?当然有,这就是我们今天要谈的搅拌摩擦焊。 (一)搅拌摩擦焊是什么?   说起焊接,首先让人想起的大多是高温、火花四溅、保护头盔,还有保护气体等等。焊接作为一种常见的工件连接技术,能够将两种或两种以上同种或异种材料通过原子或分子之间的结合和扩散连接成一体。   目前,焊接技术已然演变为一门集材料学、工程力学、自动控制技术的交叉性学科。虽然焊接方法仍然以熔焊、压焊、钎焊三种为基础,但其下衍生出了几十种不同的焊接技术,其中包括了生活中应用最广的手弧焊、先进的激光焊和摩擦焊等。 生活中常见的焊接作业场面
  与常规摩擦焊类似,搅拌摩擦焊也是利用摩擦热与塑性变形热作为焊接热源。   常规摩擦焊焊接过程中材料在压力作用下相互摩擦(工件做回转、线性等形式的相对运动,摩擦产生热量),摩擦热使得焊接的接触端面上很快形成热塑性层,接触面及附近区域温度上升,在顶锻压力的作用下,界面处的材料产生塑性变形及流动,最终形成了质量良好的焊接接头。   而搅拌摩擦焊在焊接过程中,被焊接工件之间不做相对运动,摩擦热是由搅拌针伸入工件的接缝处通过焊接工具的焊头做高速旋转运动,使其与焊接工件材料产生摩擦。 搅拌摩擦焊原理示意图,焊接过程可简化为旋转-插入-塑化-焊接
  焊接过程中,搅拌针高速旋转并在压力作用下插入材料内部进行搅拌摩擦生热,同时焊头的肩部与工件表面摩擦生热,焊头边高速旋转边沿工件的接缝方向与工件发生相对移动,于是焊头前面的材料发生强烈塑性变形,随着焊头沿着焊缝走向移动,高度塑性变形的材料不断被搅拌针搅拌到背后,在主轴离开后,热塑性状态的材料冷却固化,从而形成一条搅拌摩擦焊的焊缝。   搅拌摩擦焊的技术原理并不复杂,需要控制的参数也不多,不过这并不代表搅拌摩擦焊设备没有技术难度,实际上,焊接设备及夹具的刚性对搅拌摩擦焊是极端重要的,对大型工件的焊接而言尤甚。   摩擦焊技术焊接质量稳定、焊件尺寸精度高、焊接生产率高、适于焊接异种金属、易实现机械化和自动化,而搅拌摩擦焊…

"实践一号":备份星作用却大于东方红一号

1971年3月3日,基于"东方红一号"备份星研制的"实践一号"卫星发射成功,运行在近地点高度为266千米、远地点高度为1826千米、倾角为69.60°、周期为106分钟的轨道上。这是我国自行研制的第二颗人造卫星,此时距"东方红一号"卫星发射成功不到一年。与广为人知的"东风红一号"卫星相比,虽然"实践一号"卫星的知名度要小不少,但其作用却不小,单纯从科研的角度看,甚至要比"东方红一号"更大一些,毕竟"东方红一号"是我国自行研制的首颗卫星,主要宣示我国在这一领域的突破,象征意义更大一些,而"实践一号"则实打实的承担着重要的科研任务。
在我国的卫星研制体系中,每一型卫星都有特定的使命任务,具体到"实践"系列卫星,其主要担负科学探测与技术试验任务,就在2017年4月12日,我国刚刚发射成功"实践十三号"卫星,该星是我国首颗高通量通信卫星,通信总容量达20Gbps,超过我国已研制发射的通信卫星容量总和。那么,作为我国首颗科研卫星的"实践一号"又承担着什么任务呢?大致来说,"实践一号"承担的科学试验任务可分为两类:第一类主要是各种高空环境参数的测量,如我国高空磁场、X射线、宇宙射线总强度等,这也是我国第一次直接探测宇宙空间环境,相关测量数据则通过遥测系统发回地面。第二类则是测试一些卫星部件的工作状况,为今后我国卫星研制生产提供参照,如硅太阳能电池和镍镉蓄电池组成的电源系统长时间工作状况、主动无源温控系统的性能、遥测系统的寿命、无线电线路在空间环境下长期工作的性能等
"实践一号"卫星的研制始于1968年,1969年底开始模装,1970年5月确定最后的正样状态,随后各分系统又进行了大量试验、1971年1月3日起运前往发射试验场。该星采用1米直径的近球形72面全蒙皮骨架式结构,上下半球壳的梯形平面上各装有14块硅太阳能电池板。全星由结构、天线、跟踪、电源、温度控制、遥测及星上电路六个部分构成,其中结构、天线和跟踪系统基本延续了"东方红一号"卫星的设计,但为长期执行任务进行了适当改装。卫星采用自旋稳定姿态控制方式…