python的Web开发之Django框架应用(二)

    技术2022-07-10  170

    python的Web开发之Django框架应用(二)

    1、编写第一个静态页面

    第一步,创建视图文件,代码如下:

    from django.http import HttpResponse def sayHello(request): return HttpResponse("Hello world! This is my first trial. [Poll的笔记]")

    第二步,进行URL配置。代码如下:

    from django.conf.urls import url from django.contrib import admin from sayhello import views urlpatterns = [ url(r'^sayHello/$',views.sayHello), ]

    第三步,启动内置服务器,浏览器地址栏输入**http://127.0.0.1:8000/sayHello/**就能看到如下页面: [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FlsamgYA-1593526322056)(http://odsh9s4s2.bkt.clouddn.com/django-静态页面.png)]

    2、编写第一个动态页面

    第一步,创建视图文件,代码如下:

    import datetime from django.http import HttpResponse def sayHello(request): s = 'Hello World!' current_time = datetime.datetime.now() html = '<html><head></head><body><h1> %s </h1><p> %s </p></body></html>' % (s, current_time) return HttpResponse(html)

    我们逐行分析一下这段代码:

    首先,我们从django.http模块导入HttpResponse类。

    接下来,我们定义一个叫做sayHello的视图函数。每个视图函数至少要有一个参数,通常被叫作request。这是一个触发这个视图、包含当前Web请求信息的对象,是类django.http.HttpResponse的一个实例。在这个示例中,我们虽然不用request做任何事情,然而它仍必须是这个视图的第一个参数。注意视图函数的名称并不重要;并不一定非得以某种特定的方式命名才能让Django识别它。

    它仅仅返回一个HttpResponse对象,这个对象包含了页面上要显示的内容。

    第二步,进行URL配置。代码如下:

    from django.conf.urls import url from django.contrib import admin from sayhello import views urlpatterns = [ url(r'^sayHello/$',views.sayHello), ]

    我们逐行分析一下这段代码:

    首先,我们从模块中引入了sayHello视图。

    接下来,我们为urlpatterns加上一行: (r’^sayHello/$’,views.sayHello), 这行被称作URLpattern,它是一个Python的元组。元组中第一个元素是模式匹配字符串(正则表达式);第二个元素是那个模式将使用的视图函数。

    urlpattern中包含了一个尖号(^)和一个美元符号($)。这些都是正则表达式符号,并且有特定的含义: 上箭头要求表达式对字符串的头部进行匹配,美元符号则要求表达式对字符串的尾部进行匹配。

    简单来说,这段代码只是告诉Django,所有指向URL:/sayHello/的请求都应由sayHello这个视图函数来处理。

    第三步,启动内置服务器,浏览器地址栏输入**http://127.0.0.1:8000/sayHello/**就能看到如下页面: [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FxThR4O2-1593526322058)(http://odsh9s4s2.bkt.clouddn.com/django-静态.png)]

    可以看到页面的内容是我们每次访问页面的时间,是随时更新的。

    总结一下:

    进来的请求转入/hello/。jango通过在ROOT_URLCONF配置来决定根URLconf。Django在URLconf中的所有URL模式中,查找第一个匹配/hello/的条目。如果找到匹配,将调用相应的视图函数。视图函数返回一个HttpResponse。Django转换HttpResponse为一个适合的HTTP response,以Web page显示出来。

    其实做一个Django-powered页面,只需要写视图函数并用 URLconfs把它们和URLs对应起来就ok了。

    Processed: 0.012, SQL: 9