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

如何进行网站建设和推广wordpress 的分享插件

如何进行网站建设和推广,wordpress 的分享插件,抖音seo排名系统哪个好用,山西省住房与城乡建设厅网站这是《Flask Web开发实战:入门、进阶与原理解析》这本书中的一个小项目#xff0c;我在学习后根据书中的教程实现了留言板的功能#xff0c;并结合我的思路将代码做了一些调整。 下面这是实现后的展示图片 文章目录 设计思路项目代码exts.pymodels.pyforms.pyerrors.pycomma…这是《Flask Web开发实战:入门、进阶与原理解析》这本书中的一个小项目我在学习后根据书中的教程实现了留言板的功能并结合我的思路将代码做了一些调整。 下面这是实现后的展示图片 文章目录 设计思路项目代码exts.pymodels.pyforms.pyerrors.pycommands.pyconfig.pyapp.py Blueprint 蓝图static和templates文件完整代码 设计思路 留言板得有一个表单提供昵称以及留言的输入功能在数据库保存的数据应该包括留言ID昵称留言内容留言时间然后还需要有一个搜索留言内容的功能。后端使用python flask前端使用htmlcssjs和bootstrap数据库使用mysql。 项目结构如下 项目代码 exts.py 引入了flask_sqlalchemyflask_momentflask_bootstrap这三个库具体的作用及使用可以参考pypi网站。 from flask_sqlalchemy import SQLAlchemy from flask_moment import Moment from flask_bootstrap import Bootstrap5db SQLAlchemy() moment Moment() bootstrap Bootstrap5()models.py 设计数据库中数据表可以有多个数据表名message四个字段 id留言id整型主键自增 name昵称字符型长度20非空 body留言内容字符型长度200非空 timestamp留言创建的时间日期类型默认值提交留言的时间索引 from datetime import datetime from exts import dbclass Message(db.Model):__tablename__ message#指定表名id db.Column(db.Integer, primary_keyTrue, autoincrementTrue)name db.Column(db.String(20), nullableFalse)body db.Column(db.String(200), nullableFalse)timestamp db.Column(db.DateTime, defaultdatetime.now, indexTrue)forms.py 提交留言的表单name昵称输入框非空长度1-20body留言输入框非空长度1-200submit提交按钮显示值为提交留言。 from flask_wtf import FlaskForm from wtforms import StringField, SubmitField, TextAreaField from wtforms.validators import DataRequired, Lengthclass HelloForm(FlaskForm):name StringField(昵称, validators[DataRequired(), Length(1, 20)])body TextAreaField(留言, validators[DataRequired(), Length(1, 200)])submit SubmitField(提交留言)errors.py 设计访问错误时显示的页面如访问不存在的url等等。 from flask import render_templatedef page_not_found(e):return render_template(errors/404.html), 404def internal_server_error(e):return render_template(errors/500.html), 500如下图所示 commands.py 在这个代码里设置了一个生成虚拟留言数据的功能主要用于在开发项目时测试留言板功能是否正常如留言搜索功能分页功能留言时间显示功能等等手动添加测试数据很麻烦一两条还好说一两千条手动添加耗时且枯燥。 使用方法在命令行windows cmd或者linux 打开终端pycharm下方的终端…等等进入到项目app.py所在的目录运行命令flask forge 生成default条虚拟数据代码中default我设置为了20flask forge --count xxx 生成xxx条虚拟数据。这个项目大概几百几千条测试数据就足够了。 import click from exts import dbclick.command() click.option(--count, default20, helpQuantity of messages, default is 20.) def forge(count):Generate fake messages.from faker import Fakerfrom models import Messagedb.drop_all()db.create_all()fake Faker()click.echo(Working...)for i in range(count):message Message(namefake.name(),bodyfake.sentence(),timestampfake.date_time_this_year())db.session.add(message)db.session.commit()click.echo(Created %d fake messages. % count)config.py SECRET_KEY用于保护 Flask 应用程序的安全。它是一个用于加密和解密数据的随机字符串。 作用 保护表单数据免受跨站点请求伪造 (CSRF) 攻击。对用户会话数据进行加密和解密以保护用户数据的安全性。 在 Flask 应用程序中SECRET_KEY 的值应该是随机生成的足够长复杂度高不易被猜测到。注意在正式开发中不要暴露像SECRET_KEY这种配置的值不要把真实的值提交到github或者放在博客中等等。切记 下面我给一个SECRET_KEY值的生成代码你们可以参考使用 # import secrets # # 生成一个16字节长的随机字符串作为 SECRET_KEY # secret_key secrets.token_hex(16) # print(secret_key)config.py文件里设置SECRET_KEY以及数据库的配置信息 SECRET_KEY xxx#自定义# 数据库配置信息 HOSTNAME 127.0.0.1 PORT 3306 DATABASE messageboard #数据库名称 USERNAME xxxx PASSWORD xxxx DB_URI mysqlpymysql://{}:{}{}:{}/{}?charsetutf8.format(USERNAME, PASSWORD, HOSTNAME, PORT, DATABASE) SQLALCHEMY_DATABASE_URI DB_URIapp.py 在flask应用文件里将flask应用程序和使用的扩展相结合。 flask_migrate是一个Flask扩展它提供了一个简单的命令行接口来管理应用程序的数据库迁移。前面写过models.py文件是数据表的定义文件里面定义了数据表的表名字段名等等。 如果你编写了models.py文件要在数据库中生成数据表在终端命令行里依次运行flask db initflask db migrateflask db upgrade。这时数据库中就会出现数据表。 如果你已经运行了flask db init后面如果你修改了models.py文件只需要运行flask db migrateflask db upgrade即可。 from flask import Flask, redirect, url_for from exts import db, moment, bootstrap import config from blueprints.messages import messages as messages_bp from flask_migrate import Migrate from commands import forge from errors import page_not_found, internal_server_errorapp Flask(__name__) app.config.from_object(config) migrate Migrate(app, db)迁移三部曲flask db init(初始执行一次即可);flask db migrate;flask db upgrade;db.init_app(app) moment.init_app(app) bootstrap.init_app(app)app.register_blueprint(messages_bp)app.cli.add_command(forge) app.errorhandler(404)(page_not_found) app.errorhandler(500)(internal_server_error)app.route(/) def index(pageNone):return redirect(url_for(messages.index))if __name__ __main__:app.run()其中下面这两段代码是导入并注册蓝图蓝图下面再解释。 from blueprints.messages import messages as messages_bp app.register_blueprint(messages_bp)Blueprint 蓝图 Flask Blueprints是一种组织Flask应用程序的方法它将应用程序分解为可重用的模块。Blueprints可以包含路由、模板、静态文件和其他与应用程序相关的代码。Blueprints使得在Flask应用程序中添加和删除功能更加容易同时也使得应用程序更加模块化和可维护。Blueprints还可以用于将应用程序分解为多个子应用程序以便更好地管理和扩展应用程序。 在我这个项目中使用pycharm的话是新建名为blueprints的python软件包。新建目录的话也可以你得手动新建__init__.py文件。 messages.py文件表示留言子应用程序如果以后添加用户注册登录的功能那么就新建一个auth.py用户子应用程序。 messages.py部分内容 static和templates文件 完整代码 我不确定有没有人对我写的这篇文章感兴趣如果需要我写的更完整一些麻烦点赞评论哦~我看情况再更新。你们的支持就是我创作的动力
http://www.dnsts.com.cn/news/76711.html

相关文章:

  • 上海正规网站建设成立一个公司需要哪些流程
  • 如何建设网站的目录结构层青岛网站设计模板
  • 这里是我做的网站小程序注册步骤
  • 企业品牌建设方案范文教程seo推广排名网站
  • 做枪版电影网站赚钱南京市高淳区城乡建设局网站
  • 网站重建完成网站集约化建设
  • 免费公文写作网站建设网站的效益分析
  • 厦门app网站设计网易企业邮箱官网登录
  • 网站案例模版网页设计模板html代码素材
  • 网站规划建设与管理维护大学论文在哪个网站开发外贸业务
  • 精品成品网站源码中装建设千股千评
  • 南昌做网站公司有哪些哪里有学压鲜面条培训
  • 下沙网站制作网站建设维护合同书
  • 东莞市公租房申请网站-建设网yy直播频道
  • 宝宝个人网站模板手机app快速开发平台
  • 网站的文章参考文献怎么做网站建设太原
  • 大连网站制作仟亿科技北京app开发制作
  • iis配网站帮别人做网站市场价
  • 建设网站企业文化搭建高端网站
  • 做网站济南邢台做网站哪个网络公司好
  • 工业信息化部网站备案查询网站怎么增加页面收录
  • 学做甜点的网站包装设计网站哪个好用
  • 苏州网站建设公司哪家好重庆定制网站制作价格
  • 三屏网站建设仓库管理系统界面
  • 地方网站如何做竞价工作努力加油的句子
  • 我的家乡网站建设哪家公司做网站正规
  • 网络科技网站建设互联网工程师
  • 吴江住房建设局网站上海市建设工程咨询奖
  • 服务好的网站制作建设钢筋网片生产厂家
  • 凡科建的网站可以做seo吗怎么开发手机网页