从“零”开始搭网站(二)

点击上方“中兴开发者社区”,关注我们

每天读一篇一线开发者原创好文

▎作者简介

作者李小虎是程序语言的爱好者,崇尚用合适的语言做合适的事情。

本文展示了如何使用Python、HTML、Javascript进行化学效应,搭一个属于我们自己的网站。其中你会发现语言之间有很多相通性,当我们领悟了这种相同性,你会发现初学一门语言也没那么可怕, 这也就是为什么我敢从零开始去搭建网站的原因。

本文档适合初学者,用切身感受期望帮助初学者少走一些弯路,或产生一些启发。



上文帖子讲了我们如何搭建一个网站的初始模型:

点击回顾:从“零”开始搭网站(一)

现在我们要真正的去开发web应用了,推荐flask的文档:

http://docs.jinkan.org/docs/flask/ 。

这篇文档基本涵盖了所有flask开发的知识点,那在本帖就不重点阐述了。我在这个帖子中着重将讲一些我费了些功夫、或者小技巧的东西。


一、目录架构

首先我们先考虑下目录架构,我参照了廖雪峰的web开发介绍,将目录分级为:

javis ----------- 我给自己网站的命名

www ------------这是指向www-17-11-01软连接

www-17-11-01

static -----------存放静态文件,如css样式、图片等等

templates------------ 存放html文件

javis.py--------------- web应用代码

为什么要创建软连接呢?这也是为了方便以后扩展开发,比如以后我要预研先的功能,新建了www-18-01-01文件夹,那么只要将www软连接指向到www-18-01-01就可以了,其余配置(如Gunicorn)都不用变,一旦预研失败,还可以将www软连接指向回 www-17-11-01,快速切换,不影响业务。


二、规划路由

这里的路由可以理解为url,就是上篇帖子里面展现的装饰器:@app.route('/')

一开始我显示主页面是这么写的:

@app.route('/')

def show():

     return render_template('home.html')

后来发现扩展起来就恶心了,因为一级目录被一个特有特性占用了,后续扩展起来都非常别扭。由于我领悟上还未臻化境,言语上可能无法表达清楚,还是用代码说话吧。后来我优化成这样:

@app.route('/')

def index():

    return redirect(url_for('show'))

@app.route('/show',methods=['GET'])

def show():

    return render_template('home.html')

即客户端直接访问一级目录时会被重定向到/show,那么以后我就可以规划/show以后的路由路径都是展示用的,/post以后的路由路径都是用户提交表单用的等等。


三、html模板
定义好一个模板,会减轻我们很多前端开发的工作量。模板可以理解为C语言的头文件,在里面定义的东西后,其他html如果需要就不需要自己重新开发,直接引用该模板就好了。比如我们定义一个模板,命名为base.html:

<!DOCTYPE html>

<html>

  <head>

      <title>Hello World</title>

   </head>

   <body> 

        {% block body_content %} ------------------------这个可以理解为一个占位符,下面我们会看到这个占位符的作用。

        {% endblock %}

    </body>

</html>

那么我们如果在home.html也要展现“Hello World”的头部,就不需要再写一遍<title>Hello World</title>了,代码如下:

{% extends 'base.html' %} ----------------引用模板

{% block body_content %}----------------“占位符”中填充内容

    <p>这是一个测试程序</p>   

{% endblock %}


四、BootStrap

既然前面已经讲了前端开发的一些东西,那么推荐一个前端开发框架BootStrap,简单易学,推特就是采用的这套框架。Flask也有BootStrap插件可以直接安装。当然也可以直接到官网下载BootStrap进行开发。BootStrap的相关基本知识参照:

http://www.runoob.com/bootstrap/bootstrap-tutorial.html

资源下载链接为: https://pan.quark.cn/s/9648a1f24758 这个HTML文件是一个专门设计的网页,适合在告白或纪念日这样的特殊时刻送给女朋友,给她带来惊喜。它通过HTML技术,将普通文字转化为富有情感和创意的表达方式,让数字媒体也能传递深情。HTML(HyperText Markup Language)是构建网页的基础语言,通过标签描述网页结构和内容,让浏览器正确展示页面。在这个特效网页中,开发者可能使用了HTML5的新特性,比如音频、视频、Canvas画布或WebGL图形,来提升视觉效果和交互体验。 原本这个文件可能是基于ASP.NET技术构建的,其扩展名是“.aspx”。ASP.NET是微软开发的一个服务器端Web应用程序框架,支持多种编程语言(如C#或VB.NET)来编写动态网页。但为了在本地直接运行,不依赖服务器,开发者将其转换为纯静态的HTML格式,只需浏览器即可打开查看。 在使用这个HTML特效页时,建议使用Internet Explorer(IE)浏览器,因为一些老的或特定的网页特效可能只在IE上表现正常,尤其是那些依赖ActiveX控件或IE特有功能的页面。不过,由于IE逐渐被淘汰,现代网页可能不再对其进行优化,因此在其他现代浏览器上运行可能会出现问题。 压缩包内的文件“yangyisen0713-7561403-biaobai(html版本)_1598430618”是经过压缩的HTML文件,可能包含图片、CSS样式表和JavaScript脚本等资源。用户需要先解压,然后在浏览器中打开HTML文件,就能看到预设的告白或纪念日特效。 这个项目展示了HTML作为动态和互动内容载体的强大能力,也提醒我们,尽管技术在进步,但有时复古的方式(如使用IE浏览器)仍能唤起怀旧之情。在准备类似的个性化礼物时,掌握基本的HTML和网页制作技巧非常
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值