您的位置:首页 > 科技 > 能源 > 软件界面设计要求_高淳seo外包公司_免费b站推广网站不用下载_爱站网关键词密度查询

软件界面设计要求_高淳seo外包公司_免费b站推广网站不用下载_爱站网关键词密度查询

2025/3/17 7:19:15 来源:https://blog.csdn.net/weixin_72686492/article/details/146107951  浏览:    关键词:软件界面设计要求_高淳seo外包公司_免费b站推广网站不用下载_爱站网关键词密度查询
软件界面设计要求_高淳seo外包公司_免费b站推广网站不用下载_爱站网关键词密度查询

慕慕手记项目日记 2025-3-7

今日的日记主要是对SQLAIChemy框架应用的一些收尾,当然主要还是先学会使用。

我的收藏文章功能开发

@app.route("/")
def my_favorite():username = request.args.get("username")#先查询收藏表里的user_id 再查询文章表,实现多表查询all_article = db_session.query(User, Article, Favorite).outerjoin(Favorite, User.user_id == Favorite.user_id).outerjoin(Article, Article.id == Favorite.article_id).filter(User.username == username).all()for user, article, favorite in all_article:print(user.username)print(article.title)print(favorite.id)return "ok"
  • db_session.query(User, Article, Favorite):创建一个查询对象,准备同时查询 UserArticleFavorite 表。
  • .outerjoin(Favorite, User.user_id == Favorite.user_id):使用外连接(outerjoin)将 User 表和 Favorite 表关联起来,条件是 User.user_id 等于 Favorite.user_id
  • .outerjoin(Article, Article.id == Favorite.article_id):再次使用外连接将 Article 表和 Favorite 表关联起来,条件是 Article.id 等于 Favorite.article_id
  • .filter(User.username == username):添加过滤条件,只选择那些 username 与传入参数匹配的记录。
  • .all():执行查询并返回所有符合条件的记录

查询文章内容开发

主要用到了flask框架中的or_函数还有like函数,

@app.route("/")
def search_article():keyword = request.args.get("keyword")# 查询数据库,查找标题或内容包含关键字的文章result = db_session.query(Article).filter(or_(Article.title.like("%" + keyword + "%"),Article.article_content.like("%" + keyword + "%"))).all()# 打印结果中的文章标题for r in result:print(r.title)return "ok"    
  • or_():SQLAlchemy的逻辑“或”操作,满足任意条件即可。
  • like("%" + keyword + "%"):模糊匹配,%是通配符,表示“包含关键字”

SQLAIChemy与json数据响应

通常后端应用需要传输json数据给前端页面进行动态渲染,现在我们来模拟这个过程。

@app.route("/")
def search_article():keyword = request.args.get("keyword")# 查询数据库,查找标题或内容包含关键字的文章result = db_session.query(Article).filter(or_(Article.title.like("%" + keyword + "%"),Article.article_content.like("%" + keyword + "%"))).all()# 打印结果中的文章标题page_data = model_list(result)return page_data# username = request.args.get("username")# #先查询收藏表里的user_id 再查询文章表,实现多表查询# all_article = db_session.query(User, Article, Favorite).outerjoin(#     Favorite, User.user_id == Favorite.user_id# ).outerjoin(#     Article, Article.id == Favorite.article_id# ).filter(#     User.username == username# ).all()# for user, article, favorite in all_article:#     print(user.username)#     print(article.title)#     print(favorite.id)# return "ok"def model_list(result):page_list = []result_json = {}for r in result:for k,v in r.__dict__.items():if k != "_sa_instance_state":result_json[k] = vpage_list.append(result_json)return page_listif __name__ == '__main__':app.run()  # 添加debug模式方便调试

慕慕手记项目环境搭建

在搭建环境之前需要安装以下软件:

  • git
  • python 虚拟环境

接下来是git的配置过程

首先先到gitee里面添加ssh公钥:生成/添加SSH公钥 - Gitee.com

然后到pycharm里面创建一个项目,仍然是我们之前创建的虚拟环境,下面是我们当然的目录结构展示:

在这里插入图片描述

先创建这些文件,再到gitee中创建一个空的仓库,然后初始化git

git config --global user.name 'Invalid' 
git config --global user.email '3238846019@qq.com'

添加远程仓库:

git remote add origin https://github.com/your/your.git

现在已经有了这些基本的代码就可以试着提交了

git add .
git commit -m "init"
git push -u origin master

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com