flask 爬坑指南(一)如何开始一个flask应用
admin
2023-07-31 01:45:58
0

前言

去年十月开始学习python一开始写了一个python的爬虫
将自己在过程中的一些经验写了下来没想到那么多人支
持。之后因为一些实验室的需求就转投python的web开发
一开始用的Django但是感觉她的集成度太高。然后在过
年的时候学了Flask这学期就用Flask开发了实验室元器件
管理系统。但目前也只是处于能用状态。但还是想把自己
在开发过程中遇到的问题和解决方案发出来。希望这一
系列教程可以给还在摸索中的同学提供一些帮助

项目的 Github 连接

教程目录

  • 一:如何开始一个flask项目

  • 二:如何在apache上部署flask(坑好多)

  • 三:flask前端和后端的交互

  • 四:flask和数据库的交互

  • 待续…………

一:如何开始一个flask项目

0x01:一个好的开始,目录结构

--app  
  --static
  --templates
  --__init__.py
  --models.py
  --views.py
--run.py
--manage.py
--readme.md
--c

嗯就是这样
其中app文件夹里面的就是你最后发布在服务器上的东西
app里面的static文件夹存放css文件,templates文件夹存放
html文件
__init__.py文件是flask启动时候的一些初始化工作

from flask import Flask
app=Flask(__name__)
app.config.from_object(\'config\')

from app import views,modes

models .py 文件是存放你的模型对象的 说人话就是
你的一些数据结构声明,比如你的网页有个个人介绍
其中这个人有很多信息然后你把这个人抽象为一个对象
然后把这个对象的声明放在models.py文件中。
暂时在第一部分中这个这个文件还没有代码

views .py 文件是存放你的视图函数的 说人话就是这个
文件是用来解析的URl的及对你不同的url在后台进行不
同的处理后返回给前端页面。这个文件我们需要写一些
代码。

from app import app
@app.route(\'/\')
def index():
    return \'Hello World\'

在开始我对from app import app 这句话感到很费解
这两个app都是哪的呢?后来发现是自己的python
没有学好这个就涉及到python的模块的问题。
及如何将一个文件夹下文件变成一个包呢。重要
的就是要在这个文件夹下面有一个__init__.py的
文件。但有了这个文件后你的这个文件夹就成了一个
python包(好像是这样的,我看了一些资料是这样
说的。要是不对请大家在评论给我指出)
那么from app 就可以解释的通,及这个包名(文件夹
名字)是app。然后我们还在__init__.py中声明了一个
app对象,这样两个app就可以解释清楚了。及从app
包中引入了app对象

@app.route(\’/\’)这个就是对url的解析
也就是当你在前端访问一个网页在后端就会调用这个
修饰器下的函数

run . py这个就是启动整个应用的启动文件了

from app import app
if __name__ ==\"__main__\":
    app.run(debug=True)

这样就启动了整个应用 我们在app.run里面传入了一个
参数,这个参数在你调试的时候有很多好处。首先
当你修改你的文件并保存后,你运行的应用就会自动重启
加载新修改的程序。并且在你运行的函数有错误时会返回
错误参数。而不仅仅是一个400服务器无法理解此请求。

效果图

访问127.0.0.1:5000端口就可以打开页面
这样一个初始的flask应用就搭建完成了

第一部分教程就是很简单的一个flask应用
下一个就是无数坑的部署。一说起来满眼
都是泪啊。敬请期待,马上就推出

相关内容

热门资讯

Mobi、epub格式电子书如... 在wps里全局设置里有一个文件关联,打开,勾选电子书文件选项就可以了。
定时清理删除C:\Progra... C:\Program Files (x86)下面很多scoped_dir开头的文件夹 写个批处理 定...
scoped_dir32_70... 一台虚拟机C盘总是莫名奇妙的空间用完,导致很多软件没法再运行。经过仔细检查发现是C:\Program...
500 行 Python 代码... 语法分析器描述了一个句子的语法结构,用来帮助其他的应用进行推理。自然语言引入了很多意外的歧义,以我们...
小程序支付时提示:appid和... [Q]小程序支付时提示:appid和mch_id不匹配 [A]小程序和微信支付没有进行关联,访问“小...
pycparser 是一个用... `pycparser` 是一个用 Python 编写的 C 语言解析器。它可以用来解析 C 代码并构...
微信小程序使用slider实现... 众所周知哈,微信小程序里面的音频播放是没有进度条的,但最近有个项目呢,客户要求音频要有进度条控制,所...
65536是2的几次方 计算2... 65536是2的16次方:65536=2⁶ 65536是256的2次方:65536=256 6553...
Apache Doris 2.... 亲爱的社区小伙伴们,我们很高兴地向大家宣布,Apache Doris 2.0.0 版本已于...
项目管理和工程管理的区别 项目管理 项目管理,顾名思义就是专注于开发和完成项目的管理,以实现目标并满足成功标准和项目要求。 工...