博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Django Web开发学习笔记(3)
阅读量:6037 次
发布时间:2019-06-20

本文共 2291 字,大约阅读时间需要 7 分钟。

1、创建一个简单视图

这章是按照DgangoBook的说明。在我们创建的工程目录下面DjangoE_1(这是我为自己的工程命名的名字)新建一个view.py的文件,并在该文件下添加如下代码

from django.http import HttpResponsedef hello(request):    return HttpResponse("hello world")

 熟悉HTTP的话知道HttpResponse是服务器到返回到客户端的应答,而request是客户端到服务器的请求。

 

我们添加了视图的显示信息,可是Django怎样映射到我们的视图上?我们在生成的工程目录下面发现了那个叫urls.py的文件。这就是视图和控制的映射文件。打开后我们看到默认生成的代码:

from django.conf.urls import patterns, include, urlfrom django.contrib import adminadmin.autodiscover()urlpatterns = patterns('',    # Examples:    # url(r'^$', 'DjangoE_1.views.home', name='home'),    # url(r'^blog/', include('blog.urls')),    url(r'^admin/', include(admin.site.urls)),)

默认的代码是添加管理员权限的东西,我们暂且先不管这些东西,你也可以先注释掉这些内容。我们在其中添加这样两句代码:

from DjangoE_1.view import hello

 (r'^hello/$',hello),

于是我们的代码变成了这个样子

from django.conf.urls import patterns, include, urlfrom django.contrib import adminadmin.autodiscover()from DjangoE_1.view import hellourlpatterns = patterns('',    # Examples:    # url(r'^$', 'DjangoE_1.views.home', name='home'),    # url(r'^blog/', include('blog.urls')),    url(r'^admin/', include(admin.site.urls)),    (r'^hello/$',hello),)

需要注意的是erlpatterns是一个元组类型的数据,因此我们在末尾最好添加一个逗号,刷新一下服务器,重新登录一下

于是我们在我们的页面中看到了输出了

Hello world

熟悉Web的应该已经明白基本上的操作流程了,下面是一个稍微复杂一点的操作!

假如我们希望显示一个动态的内容,那我们该怎么办呢?也就是我们怎样想view.py的视图文件中传入参数?

#view.pydef hello(request):    return HttpResponse("hello");def showTime(request):    now = datetime.datetime.now()    html = """It is now %s.    
""" % now return HttpResponse(html)def showCurrentTime(request): now = datetime.datetime.now(); html="""
""" %now; return HttpResponse(html)
#urls.pyfrom django.conf.urls import patterns, include, urlfrom django.contrib import adminadmin.autodiscover()import DjangoE_1.viewurlpatterns = patterns('',    # Examples:    # url(r'^$', 'DjangoE_1.views.home', name='home'),    # url(r'^blog/', include('blog.urls')),    url(r'^admin/', include(admin.site.urls)),        (r'^hello/$',DjangoE_1.view.hello),    (r'^show/$', DjangoE_1.view.showTime),    (r'^getnow/$', DjangoE_1.view.showCurrentTime),)

  可以发现,我们完全可以以字符串的形式传递数据。但是要求有严格的数据格式,因为在Python里面如果空格没有的话有时候都会报错。这里只是练习,实际开发中是不会有这样的代码的。另外,注意getnow是不会动态显示时间的,因为我们的now只是在连接的时候获取一次,因此它的值实际是不会变化的。下一节我们将应用模板来进行代码分离,目的是将Python和HTML的代码能区别开来。

转载于:https://www.cnblogs.com/CBDoctor/p/3726909.html

你可能感兴趣的文章
C#加密解密方法(转)
查看>>
code only 和 code first的关系 !! code only 就是 code first !!
查看>>
WCF入门(九)——未处理异常
查看>>
集合划分问题
查看>>
程序执行vhdl中延时器的编写
查看>>
导致flash屏幕重绘的几种方式及避免重绘的方法
查看>>
解读思维导图(一)误区
查看>>
[2014AMC]Navier-Stokes equations with regularity in two entries of the velocity gradient tensor
查看>>
java多线程:ReentrantReadWriteLock读写锁使用
查看>>
salesforce 零基础开发入门学习(三)sObject简单介绍以及简单DML操作(SOQL)
查看>>
OGG常见问题处理
查看>>
Mysql 自增列 主键
查看>>
Android Studio中提示:Project SDK is not defined
查看>>
NOIP2015pj求和
查看>>
ASP.NET Core 中文文档 第四章 MVC(2.1)模型绑定
查看>>
【Linux】rpm常用命令及rpm参数介绍
查看>>
能上架App的GooglePlay开发者账号获取流程
查看>>
WIN7 WIN10赋予文件或者文件夹完全访问权限
查看>>
Myeclipse创建Maven项目
查看>>
[datatable]排序时指定某列不可排序
查看>>