找回密码
 注册
搜索
查看: 1167|回复: 0

让我告诉你建一个小网站有多么容易

[复制链接]

455

主题

49

回帖

2204

积分

管理员

积分
2204
发表于 2019-5-10 08:57:13 | 显示全部楼层 |阅读模式
让我告诉你建一个小网站有多么容易程序媛菲儿 2019-05-02 20:49:39
最近,打算在课题室局域网搭建一个小网站,方便大家共享文件,比如说在局域网服务器放置师兄们的论文啊,文章啊,学习视频啊等等.使用扣扣微信发送文件不方便,U盘又麻烦,所以就打算挂载在局域网上.
而且由于不能外传,所以不打算接外网.
需求分析:
1.可以上传文件
2.可以下载文件
3.可以开发一个公共区,作为课题室展板
4.最好可以在网站上直接观看学习视频(这个尚待开发)
使用的框架:flask
使用的语言: Python
入门篇

  • 代码展示
  • from flask import Flask
  • app = Flask(__name__)
  • @app.route('/')
  • def hello_world():
  • return 'Hello World!'
  • if __name__ == '__main__':
  • app.run(host='0.0.0.0',port=5000)
  • 代码分析
  • (1)首先我们导入了类 Flask 。这个类的实例化将会是我们的 WSGI 应用。第一个参数是应用模块的名称。 如果你使用的是单一的模块(就如本例),第一个参数应该使用 __name__。
  • (2)接着,我们创建一个该类的实例。我们传递给它模块或包的名称。这样 Flask 才会知道去哪里寻找模板、静态文件等等。
  • (3)我们使用装饰器 route() 告诉 Flask 哪个 URL 才能触发我们的函数。
  • (4)定义一个函数,该函数名也是用来给特定函数生成 URLs,并且返回我们想要显示在用户浏览器上的信息。
  • (5)最后我们用函数 run() 启动本地服务器来运行我们的应用。if __name__ =='__main__': 确保服务器只会在该脚本被 Python 解释器直接执行的时候才会运行,而不是作为模块导入的时候。
  • 运行代码
  • 把它保存成 hello.py (或者类似的文件),然后用 Python 解释器运行它。确保你的应用不叫做 flask.py, 因为这会与 Flask 本身冲突。
  • 然后 python hello.py
  • 局域网浏览
  • 在局域网其他电脑上,打开浏览器,输入
  • http://运行刚才程序的电脑IP:5000/
例如: http://192.168.35.168:5000/


然后就可以看到如下的结果.


使用Ctrl+C终止服务器到此入门篇结束.我们在入门篇里看到了在局域网里建立一个服务器搭建网站是那么的容易!!!接着,我们继续往前走...
提升篇

在入门篇里,我们在局域网里的服务器创建了一个小网站,并且局域网的其他电脑可以访问.但这种访问只是简单的静态网页,现在我们能不能提升逼格,更显高大上呢?
可以.
我们下载一个逼格很高的网页,下载后,一般会有html,css文件.
我们在当前路径下建立两个文件夹
templates文件夹:存放html网页
static文件夹:存放css文件
就像这样

  • 代码展示
  • from flask import Flask,request,render_template,url_for
  • app = Flask(__name__)
  • @app.route('/',methods=['POST','get'])
  • def index():
  • mycss=url_for('static',filename='style.css')
  • return render_template('index.html',mycss=mycss)
  • if __name__ == '__main__':
  • app.run(host='0.0.0.0',port=5000)
  • 代码分析
  • (1)首先我们导入了类 Flask 。而且还有使用函数 url_for() 来针对一个特定的函数构建一个 URL。使用方法 render_template() 来渲染模版
  • (2)接着,我们创建一个该类的实例。我们传递给它模块或包的名称。这样 Flask 才会知道去哪里寻找模板、静态文件等等。
  • (3)我们使用装饰器 route() 告诉 Flask 哪个 URL 才能触发我们的函数。
  • (4)定义一个函数,该函数名也是用来给特定函数生成 URLs,并且返回我们想要显示在用户浏览器上的信息。
  • (5)最后我们用函数 run() 启动本地服务器来运行我们的应用。if __name__ =='__main__': 确保服务器只会在该脚本被 Python 解释器直接执行的时候才会运行,而不是作为模块导入的时候。
  • 运行代码
  • 把它保存成 hello.py (或者类似的文件),然后用 Python 解释器运行它。确保你的应用不叫做 flask.py, 因为这会与 Flask 本身冲突。
  • 然后 python hello.py
  • 局域网浏览
  • 在局域网其他电脑上,打开浏览器,输入
  • http://运行刚才程序的电脑IP:5000/
例如: http://192.168.35.168:5000/


然后就可以看到如下的结果.


使用Ctrl+C终止服务器到这里,只要你有漂亮的HTML,你都可以配置在你的服务器上.到此提升篇结束.
到这里还远远不够,但是我们已经能够体会到Flask这个小框架带给我们的惊喜了,我也是刚刚学习这个框架,下面我将献出我所有的代码,让我们一起学习,一起完善,一起进步吧.
目前实现的功能:
静态网页展现
上传文件
下载文件
想进一步扩展的功能:
登录界面加数据库




回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

党灏宇
党灏浛

QQ|手机版|daweida.com

GMT+8, 2024-4-25 18:27 , Processed in 0.228600 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表

Warning: PHP Startup: Unable to load dynamic library 'fileinfo.so' (tried: /usr/local/zend/php7.4/include/php/ext/fileinfo.so (/usr/local/zend/php7.4/include/php/ext/fileinfo.so: cannot open shared object file: No such file or directory), /usr/local/zend/php7.4/include/php/ext/fileinfo.so.so (/usr/local/zend/php7.4/include/php/ext/fileinfo.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0