当前位置: 首页 > news >正文

微信视频网站怎么做的好处免费网络连接软件

微信视频网站怎么做的好处,免费网络连接软件,广告平面设计培训班学费一般多少,绍兴建站模板厂家前言 Flask是一个用Python编写的轻量级Web应用框架。它最初由Armin Ronacher作为Werkzeug的一个子项目在2010年开发出来。Werkzeug是一个综合工具包#xff0c;提供了各种用于Web应用开发的工具和函数。自发布以来#xff0c;Flask因其简洁和灵活性而迅速受到开发者的欢迎。…前言 Flask是一个用Python编写的轻量级Web应用框架。它最初由Armin Ronacher作为Werkzeug的一个子项目在2010年开发出来。Werkzeug是一个综合工具包提供了各种用于Web应用开发的工具和函数。自发布以来Flask因其简洁和灵活性而迅速受到开发者的欢迎。随着Python社区的增长Flask也得到了不断的更新和改进成为了Python Web开发中的主流框架之一。它拥有庞大的用户和贡献者社区。 除此之外于当下大模型大爆发的时代它是也非常适合给企业做私有大模型场景提供web页面。对于web初学者来说一个非常值得尝试的框架。 接下来我们从web基础概念、flask安装调试、路由、模版、蓝图、数据库操作、实战案例几个方面给大家介绍flask的使用。 一、Web应用基本概念 如果你是第一次开发Web应用程序你需要首选了解一下几个概念它们是IP地址、dns、url、http、https。 1. IP地址 IP地址是分配给网络上每个设备的唯一标识符。 它允许设备之间进行通信分为IPv4和IPv6两种类型。 2. DNS域名系统 DNS是互联网上用于将域名转换为IP地址的系统。 它允许用户通过易于记忆的域名来访问网站而不是记住复杂的数字IP地址。 3. URL统一资源定位符 它是互联网上资源的地址包括网页、图片、视频等。 格式通常为协议://域名:端口/路径?查询字符串#片段标识符。 4. HTTP超文本传输协议 HTTP是用于从Web服务器传输超文本到本地浏览器的协议。 它是Web通信的基础支持客户端和服务器之间的请求和响应。 5. HTTPS安全超文本传输协议 HTTPS是HTTP的安全版本通过SSL/TLS协议加密数据传输。 它保护数据免受中间人攻击和其他安全威胁。 以上这样介绍可能不够直观举一些例子吧。 一个小姐姐去北京西单吃北京烤鸭她要去的那家烤鸭店的名字就是域名比如我们平时在浏览器里输入的taobaoc.om。而这家烤鸭店的地址门牌号就是IP烤鸭店名和地址都在工商局有注册这个工商局就是DNS服务器。URL是由域名和访问资源组成的。比如taobao.com/xxxxx. 这个xxxxx就是资源你可以理解为烤鸭店里具体的包间或卡座以及烤鸭店提供的服务。 http和https的概念你可以理解成写信和和回信的过程http就是没有加密的信件一个人投诉物业给有关部门写信主管部门收到后把处理结果回信这个写信的人。https就是加密的信件比如谍战片里的特工特工给上级写的信都是用的暗语即使信件传递过程有人拆开了信也是看不懂信中的暗语的。在实际web的通信过程中http和https传递的都是具有特定格式的文本信息浏览器发起一个请求后服务器端会做出响应把操作结果反馈给浏览器端。这个响应可能是查询数据、删除数据或者新增数据。而服务器会返回浏览器的数据通常是可以直接渲染的html和css或是可以被间接渲染的json、xml等。 二、Flask安装和调试 2.1Flask安装 首选在pytcharm里建一个python项目然后通过命令行切换到该项目的虚拟环境。这里如何安装和使用虚拟环境参考《Anaconda的安装和使用》如何正确使用PyCharm创建python参考《PyCharm新手入门》。 在虚拟环境输入 pip install Flask2.2Flask调试 1. 在项目中创建一个app.py的文件。 代码如下 from flask import Flaskapp Flask(__name__) app.route(/) def hello_world():usr老王;print(f{usr}已经创建好了第一个flask应用!);return Hello, World! if __name__ __main__:app.run(debugTrue)2. 设置一下flask项目的调试环境 3. 调试报错 配置好调试环境打一个断点如下图然后用快捷键【shiftF9】启动调试。 调试启动后可以看到控制台给出一个访问地址http://127.0.0.1:5000。复制这个url地址在浏览器里打开。 浏览器打开后如果app.py这个程序进入调试状态按F8可以进入分步调试了。这意味着你可以正常调试flask应用了当完成调试后你在浏览器看到“Hello, World!”。这里恭喜你你已经很顺利的配置环境可以进入开发的阶段了。 然而事情的实际进展不会这么顺利。你可能会遇到环境报错就像我遇到的情况。 刚一点击shiftF9就报错 [Errno 2] No such file or directory 经查网上查找资料发现最后问题出在安装flask版本的问题上把flask版本调整为2.0,3就可以解决问题。查看flask版本 pip show flask发现flask版本是3.0.2,。重新安装flask pip uninstall flask pip install flask2.0.3调整版本后重新再次启动不再报错然后再次shiftF9启动调试这次没有报错但是调试启动后进入helpers.py 再点击F8继续调试报以下错误 d:\conda_envs\pycharm\python.exe D:/Program Files/PyCharm Community Edition 2023.2.3/plugins/python-ce/helpers/pydev/pydevd.py --multiprocess --qt-supportauto --client 127.0.0.1 --port 3269 --file D:\python_workspace\pythonProject\app.py 已连接到 pydev 调试器(内部版本号 232.10072.31)Traceback (most recent call last):File frozen importlib._bootstrap, line 1027, in _find_and_loadFile frozen importlib._bootstrap, line 1006, in _find_and_load_unlockedFile frozen importlib._bootstrap, line 688, in _load_unlockedFile frozen importlib._bootstrap_external, line 883, in exec_moduleFile frozen importlib._bootstrap, line 241, in _call_with_frames_removedFile d:\conda_envs\pycharm\lib\site-packages\flask\__init__.py, line 7, in modulefrom .app import Flask as FlaskFile d:\conda_envs\pycharm\lib\site-packages\flask\app.py, line 28, in modulefrom . import cliFile d:\conda_envs\pycharm\lib\site-packages\flask\cli.py, line 18, in modulefrom .helpers import get_debug_flagFile d:\conda_envs\pycharm\lib\site-packages\flask\helpers.py, line 16, in modulefrom werkzeug.urls import url_quote ImportError: cannot import name url_quote from werkzeug.urls (d:\conda_envs\pycharm\lib\site-packages\werkzeug\urls.py) python-BaseException经上网查找问题发现是werkzeug的版本仍然有问题因为werkzeug是在安装flask时同时关联安装的。我们虽然重新安装了flask但是werkzeug仍然是旧版本于是重新安装werkzeug pip uninstall werkzeug pip install werkzeug2.0.3重新调试程序shiftF9F8。一切正常。这里分享一个经验给大家在我们运行python开源项目的时候包括大模型应用像stable diffusion、llama等我们遇到的问题80%甚至是98%都是因为安装的库文件版本有问题。所以安装python库的时候最好搞清楚库的版本否则你会遇到数不尽的麻烦。 二、路由和视图函数 在Flask中路由由app.route()装饰器定义视图函数是处理请求并返回响应的函数。 app.route(/user/username) def show_user_profile(username):# 通过URL中的参数访问用户信息return fUser {username}app.route(/post/int:post_id) def show_post(post_id):# 通过URL中的参数访问帖子信息确保参数是整数类型return fPost {post_id}三、蓝图 在 Flask 中通常将不同的服务请求即不同的路由和视图函数组织在一个 Python 文件中是可行的尤其是在小型应用或者学习阶段。然而对于更大的应用或更好的代码组织你可能希望将不同的服务请求拆分到不同的模块或蓝图中。 以下是一些组织服务请求的一般建议 1.单一文件应用 在小型应用中将所有的服务请求都写在一个文件中是可以的这样简单明了。例如 from flask import Flask app Flask(__name__) app.route(/) def home():return Home Pageapp.route(/about) def about():return About Pageif __name__ __main__:app.run(debugTrue)2.模块化组织 将相关的服务请求分组到不同的模块中例如 views.py # views.py from flask import Blueprintmain_bp Blueprint(main, __name__)main_bp.route(/) def home():return Home Pagemain_bp.route(/about) def about():return About Page然后在主应用中导入并注册这个蓝图 3.蓝图 请求组织到不同的蓝图中。蓝图是一种更高级别的组织方式用于将应用拆分为可维护的模块。例如 # main_blueprint.py from flask import Blueprintmain_bp Blueprint(main, __name__)main_bp.route(/) def home():return Home Pagemain_bp.route(/about) def about():return About Page主应用 # main_blueprint.py from flask import Blueprintmain_bp Blueprint(main, __name__)main_bp.route(/) def home():return Home Pagemain_bp.route(/about) def about():return About Page这些都是一些通用的组织代码的方式具体选择取决于你的应用规模和组织结构。在项目变得更大时使用模块化的方式可以更好地保持代码的可维护性。 四、表单处理 Flask可以轻松处理表单提交。使用request对象从POST请求中获取表单数据或使用flask-wtf等扩展库来简化表单处理。 from flask import Flask, render_template, requestapp.route(/login, methods[POST, GET]) def login():if request.method POST:username request.form[username]password request.form[password]# 处理表单提交的数据return fUsername: {username}, Password: {password}return render_template(login.html)五、Jinqa模版 在 Flask 中你可以使用模板引擎来实现动态页面。模板引擎允许你在 HTML 文件中嵌入动态内容从而根据不同的请求动态生成页面。Flask 默认使用 Jinja2 模板引擎它提供了灵活的语法和功能方便在 HTML 中插入动态内容。 1.安装 Jinja2 如果你是在新的虚拟环境中你需要安装 Jinja2 pip install Jinja22.创建 Flask 应用 from flask import Flask, render_templateapp Flask(__name__)app.route(/) def home():# 传递动态数据到模板user {username: John, age: 25}return render_template(home.html, useruser)if __name__ __main__:app.run(debugTrue)3.创建模板文件 在你的项目目录下创建一个名为 templates 的文件夹然后在该文件夹中创建 home.html 文件 !DOCTYPE html html langen headmeta charsetUTF-8meta nameviewport contentwidthdevice-width, initial-scale1.0titleDynamic Page/title /head bodyh1Welcome, {{ user.username }}!/h1pYour age is {{ user.age }}./p /body /html在这个例子中{{ user.username }} 和 {{ user.age }} 是模板中的变量它们将在运行时由 Flask 填充为相应的值。 六、操作数据库 1.sqlite3模块 SQLite 是一个自包含、无服务器、零配置的 SQL 数据库引擎。它是 Python 标准库的一部分所以在大多数情况下你不需要手动安装 SQLite 数据库因为它已经包含在 Python 的 sqlite3 模块中。 在 Python 中你可以使用标准库中的 sqlite3 模块来访问 SQLite 数据库 import sqlite3 # 连接到 SQLite 数据库如果数据库不存在会自动创建 conn sqlite3.connect(example.db) # 创建一个游标对象 cursor conn.cursor() # 执行 SQL 语句 cursor.execute(CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)) # 插入数据 cursor.execute(INSERT INTO users (name, age) VALUES (?, ?), (Alice, 30)) # 提交事务 conn.commit() # 查询数据 cursor.execute(SELECT * FROM users) print(cursor.fetchall()) # 关闭连接 conn.close()这个示例展示了如何使用 Python 的 sqlite3 模块来创建表、插入数据和查询数据。你可以直接在你的 Python 环境中运行这个代码来测试 SQLite 数据库的基本功能。 2.使用SQLAlchemy模块访问数据库 除了python自带的标准sqlite3模块还可以通过SQLAlchemy 来处理和数据库交互不同的是这个模块除了sqlite还可以访问mysql等其他数据库。 使用SQLAlchemy操作数据库的步骤 安装依赖 pip install Flask SQLAlchemy创建 Flask 应用 1. 项目结构 /flask_app├── app.py├── models.py└── templates└── index.html2.models.py - 定义数据库模型 from flask_sqlalchemy import SQLAlchemydb SQLAlchemy()class User(db.Model):id db.Column(db.Integer, primary_keyTrue)name db.Column(db.String(80), nullableFalse)age db.Column(db.Integer, nullableFalse)def __repr__(self):return fUser {self.name}3 .app.py - 主应用文件 from flask import Flask, request, jsonify, render_template from models import db, Userapp Flask(__name__) app.config[SQLALCHEMY_DATABASE_URI] sqlite:///example.db app.config[SQLALCHEMY_TRACK_MODIFICATIONS] Falsedb.init_app(app)app.route(/) def index():users User.query.all()return render_template(index.html, usersusers)app.route(/user, methods[POST]) def create_user():data request.get_json()new_user User(namedata[name], agedata[age])db.session.add(new_user)db.session.commit()return jsonify({message: User created}), 201app.route(/user/int:id, methods[GET]) def get_user(id):user User.query.get_or_404(id)return jsonify({id: user.id, name: user.name, age: user.age})app.route(/user/int:id, methods[PUT]) def update_user(id):data request.get_json()user User.query.get_or_404(id)user.name data.get(name, user.name)user.age data.get(age, user.age)db.session.commit()return jsonify({message: User updated})app.route(/user/int:id, methods[DELETE]) def delete_user(id):user User.query.get_or_404(id)db.session.delete(user)db.session.commit()return jsonify({message: User deleted})if __name__ __main__:with app.app_context():db.create_all()app.run(debugTrue)4 .templates/index.html - 用于显示用户列表的简单 HTML 模板 !DOCTYPE html html langen headmeta charsetUTF-8titleUser List/title /head bodyh1User List/h1ul{% for user in users %}li{{ user.name }} ({{ user.age }} years old)/li{% endfor %}/ul /body /html
http://www.dnsts.com.cn/news/35654.html

相关文章:

  • 建设部的网站哔哩网站开发需求分析模板
  • 乐都网站建设公司网站建站企业
  • 企业网站用免费程序比较有名的个人网站
  • 网站建设的关注点怎么做免费的网站
  • 在对方网站做友情链接微信营销课
  • 网站建设属于什么经营类型新媒体营销的概念
  • 湖南网站推广专业做家居的网站
  • 阿里云域名注册好了怎么做网站企业网站建设服务
  • 网站建设前期调研公司汇报大连建设网信息公开
  • 垂直网站二次开发什么意思
  • 丽水网站开发公司电话软文发布平台媒体
  • 帝国CMS做的淘客网站网页制作哪家质量好
  • 西安微网站手机端网站建设的费用清单
  • 网站优化图片链接怎么做网页版企业邮箱
  • 网站主页面设计湖南平台网站建设哪里有
  • 湖北建设信息网站百度免费云服务器
  • 网站专题策划方案书企业宣传方式有哪些
  • 如何做网站联盟产品市场推广方案
  • 如何用eclipse做网站腾讯邮箱注册入口官网
  • 希腊网站后缀wordpress数据库调用文章
  • 企业网站托管哪家好商业网点消防规范
  • 网站宽度多少合适做网站哪间好
  • 为什么做红酒网站东营做网站哪里好
  • 绵阳网站开发公司问卷调查
  • 安徽省住房和建设厅网站网站建设否定关键词
  • 怎么做网站实惠电脑端网站一般做多宽最好
  • 青海网站设计企业邢台哪有学做网站的
  • 网站源代码购买做网站被骗没有居住证能不能告他
  • 大美南京网站百度安装app下载免费
  • 管家婆免费资料网站微信免费下载2023新版