django显示当前时间

上一篇讲到创建了一个空的项目mysite

下面讲如何增加一个简单页面,显示系统当前时间

在mysite目录下修改urls.py

先引用blog应用,再定义新的url

效果如下:

from django.contrib import admin
from django.urls import path
from blog import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('cur_time/', views.cur_time),
]

注意,用Pycharm启动时,必须打开的是当前项目,不能打开多个项目

否则urls.py的

from blog import views 这一段代码是红色的,会误认为报错

在blog目录下修改views.py

需要加载HttpResponse模块

from django.shortcuts import render,HttpResponse
import datetime

# Create your views here.
def cur_time(request):
    return HttpResponse("<h1>ok</h1>")

request这个参数必须要有,因为它包含了一些http请求信息

HttpResponse可以直接返回一个html标签

启动应用,访问页面

http://127.0.0.1:8000/cur_time/

直接用HttpResponse返回一个html标签不太好,如果代码比较多,就不合适了。

下面介绍如何加载一个html文件

修改views.py文件

from django.shortcuts import render,HttpResponse
import datetime

# Create your views here.
def cur_time(request):
    # 获得当前时间
    now = datetime.datetime.now()
    # 转换为指定的格式:
    otherStyleTime = now.strftime("%Y-%m-%d %H:%M:%S")
    # render用来加载html文件,{}里面是要传给模板的的变量
    return render(request, "cur_time.html", {"abc": otherStyleTime})

修改settings.py文件

定义html的文件位置

TEMPLATES变量里面的 'DIRS': []  需要修改,效果如下:

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

表示当前项目下的templates目录

在站点根目录创建templates文件夹(静态页面)

在tempates目录下创建cur_time.html文件

内容如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1>当前时间: {{ abc }}</h1>
</body>
</html>

模板渲染变量时,需要用{{ 变量名}}才能显示,abc是views传给html的变量

完整的目录结构如下(已删除__pycache__):

mysite/
├── blog
│   ├── admin.py
│   ├── apps.py
│   ├── __init__.py
│   ├── migrations
│   │   └── __init__.py
│   ├── models.py
│   ├── tests.py
│   └── views.py
├── db.sqlite3
├── manage.py
├── mysite
│   ├── __init__.py
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
└── templates
    └── cur_time.html

启动应用,访问页面

Dijango有一个优点,python编辑好之后,不用重启,就可以自动加载了

保存之后,就自动重启了

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏冰霜之地

初探 Go 的编译命令执行过程

Go 语言这两年在语言排行榜上的上升势头非常猛,Go 语言虽然是静态编译型语言,但是它却拥有脚本化的语法,支持多种编程范式(函数式和面向对象)。Go 语言最最吸...

1463
来自专栏calvin

net core 程序docker打包镜像并发布到官方store

学习一个技术的第一步,总是要先打印或显示一个hello world的。当然,学习docker也不例外。上一篇文章已经简单的介绍了环境的安装和配置。接下来就要打印...

2872
来自专栏Golang语言社区

【文末有惊喜】初探Go的编译命令执行过程

引言 ? Go 语言这两年在语言排行榜上的上升势头非常猛,Go 语言虽然是静态编译型语言,但是它却拥有脚本化的语法,支持多种编程范式(函数式和面向对象)。Go ...

65213
来自专栏菩提树下的杨过

温故而知新:Asp.Net中如何正确使用Session

Asp.Net中的Session要比Asp中的Session灵活和强大很多,同时也复杂很多;看到有一些Asp.Net开发人员报怨说Session不稳定,莫名其妙...

20910
来自专栏bluesummer

利用Zookeeper实现分布式锁及服务注册中心

对于Zookeeper的定义以及原理,网上已经有很多的优秀文章对其进行了详细的介绍,所以本文不再进行这方面的阐述。 本文主要介绍一些基本的准备工作以及zooke...

3825
来自专栏GreenLeaves

WCF系列教程之初识WCF

本随笔参考自WCF编程系列(一)初识WCF,纯属读书笔记,加深记忆。 1、简介:Windows Communication Foundation(WCF)是微软...

2358
来自专栏技术博文

curl参数

目录 1. 介绍 2. curl扩展的安装 3. curl_init 4. curl_setopt 5. cur...

3835
来自专栏FreeBuf

基于Session的身份窃取

一、Session是什么 密码与证书等认证手段,一般用于登录过程。用户登录之后,服务器通常会建立一个新的Session保存用户的状态和相关信息,用以跟踪用户的状...

3238
来自专栏阿炬.NET

Wojilu学习笔记 (02)

2895
来自专栏木头编程 - moTzxx

Redis 的安装与拓展操作指导(Windows+Linux)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011415782/article/de...

1542

扫码关注云+社区

领取腾讯云代金券