利用Flask开发一个简单的资讯网站

该网站可以展示文章列表,以及每个文章里的详细内容

$ wget http://labfile.oss.aliyuncs.com/courses/923/week2/helloshiyanlou.json
$ wget http://labfile.oss.aliyuncs.com/courses/923/week2/helloworld.json

这两个 json 文件是我们的资讯网站将使用的两篇文章数据。内部的格式为 json,包含下面的数据项:

title: 文章名称(字符串)
created_time: 文章创建时间(字符串)
content: 文章的内容(字符串)

开发一个静态的网站,它们的内容来自两个文本文件,就是刚才下载的两个json文件,文本文件的格式是json,不需要去查询数据库,文本文件的内容都包含着title、创建时间和文章的内容,把两个文件统一放到一个files目录里面,代码放在news子目录里面,还有各个渲染的模板的文件,我们需要在代码中定义两个路由,一个是跟页面,来显示各个文件的列表的

@app.route('/')
def index():
    # 显示文章名称的列表
    # 也就是 /home/shiyanlou/files/ 目录下所有 json 文件中的 `title` 信息列表

@app.route('/files/<filename>')
def file(filename):
    # 读取并显示 filename.json 中的文章内容
    # 例如 filename='helloshiyanlou' 的时候显示 helloshiyanlou.json 中的内容
    # 如果 filename 不存在,则显示包含字符串 `shiyanlou 404` 404 错误页面

目标

1.需要保持运行状态,即运行 flask run 之后,再点击提交结果
2.需要保证 http://localhost:3000/ 页面可以访问并且返回预期的页面内容,页面内容需要包含文章列表
3.需要保证 http://localhost:3000/files/helloshiyanlou 可以访问到 /home/shiyanlou/files/helloshiyanlou.json 文件中的内容
4.需要保证 http://localhost:3000/files/helloworld 可以访问到 /home/shiyanlou/files/helloworld.json 文件中的内容
5.系统不会对页面布局及样式进行测试,只会检测页面内容,但希望你能够按照前面实验学习的前端知识尽可能优化页面内容展示的样式
6.代码必须放在 /home/shiyanlou/news 目录下,Python 代码必须放在 app.py 文件中
7.请将 /home/shiyanlou/news 中的代码提交到你的 Github 中,后续的挑战都会用到本次挑战实现的代码
8.为了后续使用方便,可以不用使用 virtualenv,如果用了,也不要向 Github 提交 virtualenv 创建的虚拟环境目录

news目录下:templates目录和app.py文件
app.py:

import os
import json
from flask import Flask, render_template, abort

app = Flask(__name__)

#Files类定义了该文件的路径,向外定义了两个接口,一个是得到目录,一个是文件名称
class 
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值