FlaskWeb开发

使用 FlaskWeb 进行 Python 开发 在本文中,我们介绍了如何使用 FlaskWeb 进行 Python 开发。我们创建了一个简单的 Flask 应用程序,并演示了如何使用模板渲染动态内容以及处理表单提交。FlaskWeb 是一个强大而灵活的框架,可以帮助我们快速构建 Web 应用。通过结合 Python 的功能和 FlaskWeb 的特性,我们可以构建出功能丰富的 Web 应用程序。希望本文能为您提供一个入门 FlaskWeb 开发的指南,并激发您进一步探索和学习的兴趣。祝您在 Python Web 开发的旅程中取得成功! 阅读详情

安装Flask

在命令符窗口中,输入

$python -m venv flask

又陷入了环境安装的麻烦中
https://pypi.python.org/pypi/virtualenv#downloads virtualenv 下载地址
https://virtualenv-chinese-docs.readthedocs.io/en/latest/ virtualenv 使用说明
https://my.oschina.net/lpe234/blog/343639 virtualenv 安装与使用

首先需要安装virtualenv作为虚拟环境,来开发flask。安装virturalenv,说来难,其实很容易。到原网址现在源码安装包,https://pypi.python.org/pypi/virtualenv#downloads
其中有Python wheel 类型文件。也有Source code 类型文件。选择现在源码文件,解压后,
直接执行

$ python setup.py install

在输入

$ virtualenv --version

显示版本号,表示安装成功。

同样的,如果想安装,或者更新pip,也可以直接从官网下载源码,然后直接安装。地址https://pypi.python.org/pypi/pip
直接切换到venv文件夹中,直接安装python setup.py。
安装好virtualenv之后,可以使用它来创建运行flask的虚拟环境。

$ virtualenv venv

稍等片刻,venv文件夹就自动建好了,激动吗?一切才刚刚开始。
其中包含三个文件夹,切换到Scripts中,运行:

$venv\Scripts>avtivate

表示新创建的venv环境被激活,可以使用。

2017.1.28
在家中Lenovo笔记本上安装virtualenv,总是失败,原来是setuptools有问题。

virtualenv test --no-setuptools --no-pip --no-wheel

即可。折腾了我1天。具体原因不详,看到setuptools github issues中很多人在讨论。
https://github.com/pypa/pip/issues/1422
http://bbs.youkuaiyun.com/topics/391070795

后续,还是失败,pip install flask setuptools扩展都有问题。
还是老毛病,unicode Error
重新安装python在d盘下,也不可以,不是文件名中有空格的原因,
原来是编码有问题,
在site-package文件夹中增加用户设置文件即可。
一切正常,
参考文章
https://www.v2ex.com/t/90659
由于用户目录由汉字引起的错误。
原因是pip安装python包会加载我的用户目录,我的用户目录恰好是中文的,ascii不能编码。解决办法是:
python目录 Python27\Lib\site-packages 建一个文件sitecustomize.py
内容写:
import sys
sys.setdefaultencoding(‘gb2312’)
python会自动运行这个文件。

Flask用到的组件

Jinja2
模板
SQLAlchemy
SQLAlchemy is the Python SQL toolkit and Object Relational Mapper that gives application developers the full power and flexibility of SQL.

涉及到的概念

http

  1. get是从服务器上获取数据,post是向服务器传送数据。
  2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。
  3. 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。
  4. get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。
  5. get安全性非常低,post安全性较高。但是执行效率却比Post方法好。

建议:
1、get方式的安全性较Post方式要差些,包含机密信息的话,建议用Post数据提交方式;
2、在做数据查询时,建议用Get方式;而在做数据添加、修改或删除时,建议用Post方式;

程序运行

历时半个月,学习到第四章啦,虽然还是不知道学了什么。
第二章时,安装的Flask扩展Flask-Script,为Flask程序添加了一个命令行解释器。运行(启动)Flask程序的命令是:
$python hello.py runserver
第三章 模板
1. 引入Flask框架中,Jinja2模板引擎。

from flask import Flask, render_template
  1. 链接

    • url_for()函数最简单的用法是以视图函数名作为参数,返回对应的URL。例如,在当前版本的hello.py程序中调用url_for(‘index’)得到的结果是/。调用url_for(‘index’,_external=True)返回的则是绝对地址,在这个示例中是http://localhost:500/。
    • 使用url_for()生成动态地址时,将动态部分作为关键字参数传入。例如,url_for(‘user’,name=’john’,_external=True)的返回结果是http://localhost:5000/user/john。
      第四章 Web表单
      Flask-WTF扩展可以把处理Web表单的过程变成一种愉悦的体验。这个扩展对独立的WTFForms(http://wtforms.simplecodes.com)包进行了包装,方便集成到Flask程序中。

第五章 数据库
3. 使用Flask-SQLAlchemy管理数据库
Flask-SQLAlchemy是一个Flask扩展,简化了在Flask程序中使用SQLAlchemy的操作。SQLAlchemy是一个很强大的关系型数据库框架,支持多种数据库后台。SQLAlchemy提供了高层ORM,也提供了使用数据库原生SQL的低层功能。

  1. 在签出5b程序后,要想程序正常运行,必须按照前面的章节的方法,在Python shell中创建数据库表。
from hello import db
from hello import Role,User

否则程序总是提示Pleased to meet you!,就是数据库没有连接上。

  1. 数据库迁移
    采用程序中的更新数据库,会在迁移脚本中写好需要生成的数据库表内容,使用更新数据库命令upgrade,
(venv)$ python hello.py db upgrade
INFO [alebic.migration] Context impl SQLiteImpl.
INFO [alembic.migration] Will assume non-transactional DDL.
INFO [alembic.migration] Running upgrade None ->1bc594146bb5, initial migration

对于第一个迁移来说,其作用和掉哦那个db.create_all()方法一样,创建一个含有程序定义的数据表的空库,其中并没有数据。但在后续的迁移中,upgrade命令能把改动应用到数据库中,且不影响其中保存的数据。
最后这句话有待研究,做实验时,是直接把原库删除,重新生成了以个数据库,如果更新数据库后,是还是这个数据库,只是里边的内容不一样了,像git一样,能够记录程序的每次变化,回溯到任何一个版本。有待研究。
第六章 电子邮件
Flask-Mail包装了Python标准库中的smtplib包。Flask-Mail连接到简单邮件传输协议(Simple Mail Transfer Protocol,SMTP)服务器,并把邮件交个这个服务器发送。如果不进行配置,Flask-Mail会连接localhost上的端口25,无需验证即可发送电子邮件。

示例6-2

from flask-ext-mail import Mail
mail = Mail(app)

这两行代码只是把Flask-Mail模块在flasky应用中应用,初始化。并没有使用它,所以需要在python shell中发邮件。
用户名和密码为了安全,是定义在环境变量中的。可以导入到程序中。关于在shell中设置环境变量,树上写法有误。应该是变量应该使用单引号:

(venv) $ set MAIL_USERNAME = 'Gmail username'
(venv) $ set MAIL_PASSWORD = 'Gmail password'

且通过set设置的变量是临时环境变量,在窗口关闭时失效。
参考链接:
http://blog.youkuaiyun.com/lagelangzhi/article/details/51717433
1、 根据《Flask Web开发》这本书中第6章关于flask-mail的配置,以下步骤(QQ邮箱配置为例,以下终端的演示均为在mac上进行,linux和win会略有所不同):

hello.py中的配置(以qq邮箱为

import os
# ...
app.config['MAIL_SERVER'] = 'smtp.qq.com'   
app.config['MAIL_PORT'] = 25
app.config['MAIL_USE_TLS'] = True
app.config['MAIL_USERNAME'] = os.environ.get('MAIL_USERNAME') 
app.config['MAIL_PASSWORD'] = os.environ.get('MAIL_PASSWORD')
app.config['FLASKY_MAIL_SUBJECT_PREFIX'] = '[Flasky]'
app.config['FLASKY_MAIL_SENDER'] = 'Flasky Admin <1906242834@qq.com>'
app.config['FLASKY_ADMIN'] = os.environ.get('FLASKY_ADMIN')

其中用户的邮箱名、密码、以及管理员的邮箱是通过环境变量导入的,以下为终端中的操作:

(venv) $ export MAIL_PASSWORD='xxxxx'  #自己的邮箱客户端登录密码(不同于电脑登录的密码)
(venv) $ echo $MAIL_PASSWORD # 打印密码确定导入的密码是否正确         
xxxxx
(venv) $ export MAIL_USERNAME='2450385291@qq.com' # 自己的邮箱地址
(venv) $ echo $MAIL_USERNAME # 打印自己的邮箱地址确认是否正确             
2450385291@qq.com
(venv) $ export FLASKY_ADMIN='2450385291@qq.com' #导入管理员的邮箱地址
(venv) $ echo $FLASKY_ADMIN  # 打印管理员的邮箱地址 
1906242834@qq.com

下面简单说下,怎么开启QQ邮箱的SMTP服务(允许在第三方的客户端登录),
登录自己的QQ邮箱 ,在首页点击设置,进入设置选项:
根据提示打开SMTP服务(POP3和IMAP两个都打开)生成授权码,这个授权码就是我们在使用flask-mail时候的用户密码,也是我们在手机客户端登录邮箱时的密码。

5行代码折腾了7个小时,差距太远。
需要注意的问题,
1. Mail_Server地址和端口设置。
2. TLS需要设置成False,否则发不出邮件。
3. Flasky_Mail_sender 需要设置成自己的邮箱地址。

http://www.oschina.net/translate/the-flask-mega-tutorial-part-i-hello-world

1、flask-mail环境变量的导入的优化方法:

使用环境变量导入邮箱的用户名和密码,显然从理论上讲是非常安全的,但是在我们的编码过程中,每次测试都要重复导入,因为终端一旦关闭,那么导入的环境变量就会失效,对于我们来说是十分不方便的,所以小编根据自己的经验,给大家提供一种较为方便的方法。

在hello1.py的同级目录下,新建一个py文件,命名为info.py:
在info.py中写入自己的邮箱用户名和密码:

USERNAME = 'xxxxxxxx@qq.com'
PASSWORD = 'yyyyyy'

在hello1.py中的代码如何:

import os
# ...
from info import USERNAME, PASSWORD #从info.py中导入邮箱账户和密码
app.config['MAIL_SERVER'] = 'smtp.qq.com'
app.config['MAIL_PORT'] = 25
app.config['MAIL_USE_TLS'] = True
app.config['MAIL_USERNAME'] = USERNAME  #将邮箱账户赋值
app.config['MAIL_PASSWORD'] = PASSWORD  #将邮箱密码进行赋值
app.config['FLASKY_MAIL_SUBJECT_PREFIX'] = '[Flasky]'
app.config['FLASKY_MAIL_SENDER'] = 'Flasky Admin <xxxxxxx@qq.com>'
app.config['FLASKY_ADMIN'] = USERNAME

由此就不用每次在终端里进行环境变量的导入了,但是很多朋友可能会想,我的代码是推送到线上的,那我push的时候不就直接推送到github上了,别人不就可以看见我的邮箱和密码了吗(确实有这个问题,小编的邮箱原来就差点泄露过),对于使用github的小伙伴来说,可以设置,对 Git的隐藏文件 .gitignore进行编辑:

(venv) $ vim .gitignore

进入.gitignore文件:

 88 # Rope project settings
 89 .ropeproject
 90 Status API Training Shop Blog About
 91 
 92 secret.py   # 将你不想git追踪的文件添加到里面
 93 info.py

有关详细的git忽略特殊文件的做法,请移步廖雪峰的git教程(忽略特殊文件),关于有朋友使用pycharm集成IDE的,自己查阅相关文档进行设置,在这里不一一赘述了。

第十二章 关注者
checkout新版本,报错,config.py文件被修改过。
是因为配置环境变量,文件被改变,版本控制软件git需要提交新版本,这时候,可以找回原始版本,先更新程序。再替换回来。

phthon manage.py db upgrade
出错,

Only a single head is supported. The script directory has multiple heads (due branching), which must be resolved by manually editing the revision files to form a linear sequence. 
Run `alembic branches` to see the divergence(s).

原来是在migrate文件夹内,每次upgrade,会更新数据库,通过签出的程序,migrate版本中,更新数据库。然而,每个版本必须是承前启后的链条关系,如果对应不上,就会报错,从而不能更新数据库,这时候,可以手动修改版本衔接关系即可。

部署公司应用,读懂代码后,独自修改的一个程序。
春暖花开的日子里,仿佛又看到了希望。当初强制自己一路看书过来,忍受着独自的枯燥,没想到突然之间自己可以使用框架了。抓紧行动起来。

  1. 首先,需要从Github上clone代码到本地

    $git clone https://github.com/miguelberg/flasky.git
  2. 此时,如果直接运行代码

    $python manage.py runserver

    会得到一连串的错误,因为虚拟运行环境还没有安装,Flask程序运行依赖的扩展程序还没有安装,数据库没有配置,程序配置没有完成。不用着急,切一步步看来,步入网络仙境。

  3. 现在,需要安装一个程序可以运行的虚拟环境venv,

    $ virtualenv venv

    这条命令的前提需要下载并安装virtualenv工具,前文有讲,此处不再赘述。命令后的参数venv代表虚拟环境所在文件夹的名称。

  4. 安装Flask程序所需要的各种扩展程序,

    $ venv/Script activate
    $ (venv) pip install -r requirements\dev.txt

    activate命令激活python虚拟运行环境。
    这里使用pip工具来安装扩展,需要提前下载安装,同上。

  5. 运行程序后,虽然出错,但是会自动生成一个sqllite数据库,但是数据库是空的,没有表格,需要更新数据库结构,

    $ python manage.py db upgrade
  6. 需要生成Role角色表中的数据,这个已经在程序中编写,执行以下命令:

    $ python manage.py shell
    $ >>>Role.insert_roles()
    $ >>>Role.query.all()

    这时数据准备完毕。

  7. 配置文件config.py中,有需要从环境变量中导入的部分,可以新建一个info.py文件,写入需要配置用户邮箱,密码等。

    USERNAME = '*****'     #此处可以写成邮箱地址
    PASSWORD = '*****'    
    ...

    用户信息配置好之后,还配置config文件中的邮箱信息,前文有述,不再重复。

到目前为止,程序在本地中基本可以运行。

Cadence HDL原理图库避坑指南:从Excel导入引脚到解决‘V- V+’报错(附FPGA实例) 本文详细介绍了Cadence HDL原理图库的高效构建与排错方法,重点讲解如何从Excel智能导入引脚数据并优化FPGA封装设计。通过数据预处理、智能导入和深度排错三个关键阶段,帮助工程师避免常见错误如‘V- V+’报错,提升设计效率和准确性。 阅读详情

相关推荐

手把手解决GD32H759I-EVAL以太网通信三大坑:IP冲突、端口绑定失败、LWIP内存泄漏

本文针对GD32H759I-EVAL开发板在以太网通信调试中常见的三大难题——IP地址冲突、端口绑定失败和LWIP内存泄漏,提供了详细的实战排障指南。文章深入分析了问题根源,并给出了具体的网络配置、端口管理策略和内存泄漏检测方法,帮助开发者快速定位并解决嵌入式网络通信中的棘手问题,确保系统稳定运行。

weixin_29196315的博客 141

flask中的url_for与render_template()函数

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33724046的博客 1130

RPA机器人技术原理初探

RPA初步

曲折旅程,艰难人生 2138

Flask关于模板(url_for,redirect,render_template)等操作

flask中关于模板templates中内容的一些操作

spring_cloudy的博客 1630

手把手教你用ET-BERT预训练模型搞定加密流量分类(附完整代码)

本文详细介绍了如何使用ET-BERT预训练模型实现加密流量分类,包括环境配置、数据预处理、模型微调及优化策略。通过实战代码示例,帮助开发者快速掌握这一技术,提升网络安全领域的加密流量分析能力。

weixin_29166013的博客 494

CFD-POST中建立变量的方法

本文以测量文丘里管中全压为例阐述CFD_POST中建立变量的方式 点击进入CFD-POST界面的expressions栏中 2.与expression栏中空白处右键,new-输入新建的表达式名称 3. 在下方的空白栏中右键-varible选择需要的变量,并根据公式进行修改 4.点击进入varibles栏,空白处右击-new-输入变量名totalpressure,在下拉框中找到之前定义的totalpressure 完成后可以在varibles栏中看到新建的...

sidxi的博客 1万+

flask-mail常见的邮箱配置问题解决

这是我的第一篇技术博客,写的不好,大家多包涵,写这篇博客的主要目就是讲解下学习python的轻框架flask下的flask-mail的配置问题:

lagelangzhi的博客 8635

Windows 10 本地硬盘变成了可弹出磁盘

今天新装了系统, 电脑是一个SSD+HHD, 没想到装好之后右下角显示可安全删除设备, 两个硬盘在那里. 这还得了. 查了一下午, 大致知道了是什么问题. Standard SATA AHCI controller使用高性能的硬盘模式就会把硬盘看作是一个可热插拔的存储器, 所以自然就会显示可弹出. 如果你的BIOS支持关闭HotSwap或者HotPlug, 那么直接关闭就可以了. 或者你直接在BIOS里把磁盘模式改为IDE, 不过这样就发挥不好你SSD的高性能了. 还有一种解决方法, 就是手动让系统把这两个

落日之城 4万+

alembic 问题总结

FAILED: Target database is not up to date. alembic 出现的问题 alembic revision –autogenerate alembic upgrade head 出现这个原因是数据库中的版本和 生成的版本不一致 解决办法: 查看 数据中的alembic 中的版本, 然后到 项目中删除和数据库中相同版本后面日期的版本的 .py 文...

yangxiaodong88的博客 1699

鸿蒙录屏推流应用完整解决方案

本文介绍了鸿蒙录屏推流应用的完整解决方案。项目采用分层架构设计,包含录屏、编码、推流等功能模块,要求实现4小时稳定运行且延迟小于3秒。技术实现包括:1) 通过config.json配置应用权限和功能;2) 使用ScreenRecorderManager类管理录屏服务,实现视频采集、音频录制和编码参数配置;3) 核心功能包含初始化录屏器、开始/停止录屏等操作。该方案充分利用鸿蒙系统的多媒体API,实现了高性能的屏幕录制与实时推流功能。

huanghm88的专栏 291

AI使能的SVD算子:基于深度学习的矩阵分解方法

奇异值分解(Singular Value Decomposition, SVD)是线性代数中一种重要的矩阵分解方法,广泛应用于信号处理、数据降维、推荐系统等领域。传统SVD算法虽然精确,但在处理大规模矩阵时面临计算复杂度高、内存需求大等问题。本文提出了一种基于深度学习神经网络的SVD算子实现方法,完全摒弃传统数值算法,仅使用PyTorch框架构建的神经网络模型来完成大规模信道矩阵的SVD分解与还原。

huanghm88的专栏 1335

flask前后端交互Demo-路由+蓝图+上下文对象+render_template+url_for返回页面展示参数的使用(2-基础篇)

python-Flask框架如何进行前后端交互并返回页面 1.路由 什么是路由: 我们都知道从地址栏发送请求需要程序来执行,那么如何才能让地址栏发出的URL能走到我们的程序代码里呢,这时候就用到了路由,处理URL和python函数相映射关系的程序就叫做路由,简单来说就是让地址栏发出的URL通过路由能找到对应的函数做处理,这种处理过程是路由来完成的 举例说明: 当我访问我的项目根路径的时候,视图...

weixin_44232093的博客 2054

AI问数,智慧赋能:基于大语言模型的数据播报员应用实践探索

AI问数技术正在改变企业与数据交互的方式,它以自然语言为桥梁,让数据不再是少数专家的专利,而是成为所有业务人员的决策伙伴。这不仅是技术的创新,更是管理理念的革新。在数字化转型的关键阶段,企业应积极拥抱AI问数技术,通过降低数据使用门槛、提升数据利用效率、释放数据潜在价值,实现真正的数据驱动决策,为企业的高质量发展注入源源不断的智慧动能。AI问数,正在开启一个数据普惠的新时代。

getusushu的博客 64

FlaskWeb开发pdf源码:开启Python Web开发新篇章

FlaskWeb开发pdf源码:开启Python Web开发新篇章 【下载地址】FlaskWeb开发pdf源码 探索Flask Web开发的绝佳指南,专为初级Web开发者和Python程序员打造。本书深入浅出地讲解了Flask框架的各个方面,从基本结构到大型应用构建,涵盖模板、数据库、Web表单等核心组件。学习如何实现用...

gitblog_06781的博客 1097

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

flaskweb开发实战pdf_《Flask Web 开发实战》虚拟环境/依赖/Pipenv 等问题解决方法

注:这篇文章的主要受众是《Flask Web 开发实战》的读者。注2:文中的 $ 符号标识一条命令行命令的开始,$ 前面是当前工作目录,# 号后面是注释。你实际只需要输入 $ 符号和 # 号之间的内容,不包括开头和结尾的空格。在群聊和论坛里总是看到和虚拟环境和依赖安装相关的各类问题,这篇文章希望能够提供一个统一的解决方案。下次如果遇到有人问虚拟环境/Pipenv/依赖安装相关的问题,请把这篇文章的...

weixin_39833469的博客 241

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Python学习笔记——结合 FlaskWeb 进行开发

结合 FlaskWeb 进行开发

m0_72557783的博客 313

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

flaskweb开发中密码加密处理

在flaskweb开发中用户用户注册中密码加密: 一、flask框架项目搭建的基础上扩展二、在之前项目中的模板视图中直接引入from werkzeug.security import generate_password_hash, check_password_hashfrom exts import db import datetime from werkzeug.security import

水痕 4990

flaskweb开发(一)

一.用户密码设置问题: 设计Web程序时,人们往往会高估数据库中用户信息的安全性。如果攻击者入侵服务器获取了数据库,用户的安全就处在风险之中,这个风险比你想象的要大。众所周知,大多数 用户都在不同的网站中使用相同的密码,因此,即便不保存任何敏感信息,攻击者获得存储在数据库中的密码之后,也能访问用户在其他网站中的账户。若想保证数据库中用户密码的安全,关键在于不能存储密码本身,而要存储密码的散列值

qq_31376113的博客 484

《FlaskWeb开发:基于Python的Web应用开发实战》笔记

import os from flask import Flask, render_template, session, redirect, url_for from flask_bootstrap import Bootstrap from flask_moment import Moment from flask_wtf import FlaskForm from wtforms impor...

寒泉 2万+

FlaskWeb应用开发示例——在线问答系统

下面是一个使用 Python + Flask + HTML + CSS + JavaScript + jQuery + Bootstrap 开发的 在线问答系统 的完整示例。这个示例包括问题的展示、提问、回答问题以及问题的搜索功能。 2. 后端:Flask 服务器 () 3. 前端:在线问答页面 () 4. 自定义 CSS () 5. 自定义 JavaScript () 6. 安装依赖 () 运行以下命令安装依赖: 7. 运行项目 启动 Flask 服务器: 打开浏览器,访问 ,即

Flask Web 1267

Flaskweb开发学习笔记

第一章安装 安装虚拟环境 基于python2.7 sudo apt-get install python-virtualenv$ git clone https://github.com/miguelgrinberg/flasky.git $ cd flasky $ git checkout 1a $ virtualenv venv 激活虚拟环境 sourc

travel0er的专栏 354

【Flask】FlaskWeb开发上手点滴(01)-入门

前端修罗场提供全网最专业的前端优质文章与社区服务,为应届生,初中级前端工程师提供全面、优质的面试服务、技能提升、职场解惑服务!内容包含:前端面试辅导,前端面试题,前端交流,前端答疑,前端基础知识,前端知识体系,技能树搭建,Javascript,CSS,CSS3,HTML,React,Vue,小程序,前端简历,职业交流,远程工作,英文交流,英文提升,外企,互联网,国企,大厂,牛客面试题,掘金面试题,面经,优质前端文章分享...

前端进阶之路 | 中大厂、外企、国企内推 | 面试培训 | 简历修改 1686

FlaskWeb开发:基于Python的Web应用开发实战pdf

下载地址:网盘下载内容简介······本书不仅适合初级Web开发人员学习阅读,更是Python程序员用来学习高级Web开发技术的优秀参考书。• 学习Flask应用的基本结构,编写示例应用;• 使用必备的组件,包括模板、数据库、Web表单和电子邮件支持;• 使用包和模块构建可伸缩的大型应用;• 实现用户认证、角色和个人资料;• 在博客网站中重用模板...

weixin_30654419的博客 921

FlaskWeb应用开发示例——在线聊天系统

下面是一个使用 Python + Flask + HTML + CSS + JavaScript + jQuery + Bootstrap 开发的 在线聊天系统 的完整示例。这个示例包括用户登录、实时聊天功能以及消息的展示。 2. 后端:Flask 服务器 () 3. 前端:登录页面 () 4. 前端:聊天页面 () 5. 自定义 CSS () 6. 安装依赖 () 运行以下命令安装依赖: 7. 运行项目 启动 Flask 服务器: 打开浏览器,访问 ,即可看到登录页面。 8.

Flask Web 1533

FlaskWeb开发:基于Python的Web应用开发实战 笔记

FlaskWeb开发:基于Python的Web应用开发实战.pdf git clone https://github.com/miguelgrinberg/flasky.git (稍后补充)

abc 1590
上一篇: Byte of Python
下一篇: Vim安装与基本用法
雄雄可喜
博客等级 码龄16年 5粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值