前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >django显示当前时间

django显示当前时间

作者头像
py3study
发布2018-08-02 15:34:56
3.1K0
发布2018-08-02 15:34:56
举报
文章被收录于专栏:python3

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

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

在mysite目录下修改urls.py

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

效果如下:

代码语言:javascript
复制
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模块

代码语言:javascript
复制
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文件

代码语言:javascript
复制
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': []  需要修改,效果如下:

代码语言:javascript
复制
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文件

内容如下:

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

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

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

代码语言:javascript
复制
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编辑好之后,不用重启,就可以自动加载了

保存之后,就自动重启了

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018/06/09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档