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

护肤品网站建设方案外贸网站空间

护肤品网站建设方案,外贸网站空间,推广过程,服务app开发公司目录标题 前言制作前后端分离图书信息管理系统的思路#xff1a;素材代码效果展示 后端部分接口部分前端部分尾语 前言 嗨喽~大家好呀#xff0c;这里是魔王呐 ❤ ~! 哈喽兄弟们#xff0c;今天咱们来用Python实现一个前后端分离的图书信息管理系统。 制作前后端分离图书信… 目录标题 前言制作前后端分离图书信息管理系统的思路素材代码效果展示 后端部分接口部分前端部分尾语 前言 嗨喽~大家好呀这里是魔王呐 ❤ ~! 哈喽兄弟们今天咱们来用Python实现一个前后端分离的图书信息管理系统。 制作前后端分离图书信息管理系统的思路 1、前端部分 首先我们可以使用 VueJS 作为前端框架并通过 Vue CLI 工具进行创建和管理项目。 2、后端部分 后端部分我们可以采用 Python Flask 框架,这个框架是一个轻量级的Web框架十分适合快速开发API接口。 3、前端和后端交互 前后端的交互可以采用 Restful API 设计的方式进行例如创建一个图书列表接口前端只需要发送一个 GET 请求给后端后端通过查询数据库返回 JSON 格式的数据给前端。 4、数据库 为了方便管理图书信息我们可以使用关系型数据库 MySQL 存储和管理相关数据。 5、部署 可以使用 Docker 将前后端应用部署在同一个容器内或者使用 CI/CD 工具将前后端应用分别部署在不同的服务器上。 总的来说通过使用以上技术栈我们就可以实现一个前后端分离的图书信息管理系统。 素材代码 有需要python源码/安装包/教程/电子书/资料等 点击此处跳转文末名片免费获取 效果展示 后端部分 flask: https://flask.palletsprojects.com/en/2.1.x/ flask-sqlalchemy: https://flask-sqlalchemy.palletsprojects.com/en/2.x/ flask-cors: https://flask-cors.readthedocs.io/en/latest/ flask 快速上手 from flask import Flask, request app Flask(__name__) app.route(/) def hello_world(): # put applications code here return Welcome Books!数据库部分 # -*- coding: utf-8 -*- from extension import db class Book(db.Model): __tablename__ book id db.Column(db.Integer, primary_keyTrue, autoincrementTrue) book_number db.Column(db.String(255), nullableFalse) book_name db.Column(db.String(255), nullableFalse) book_type db.Column(db.String(255), nullableFalse) book_prize db.Column(db.Float, nullableFalse) author db.Column(db.String(255)) book_publisher db.Column(db.String(255)) staticmethod def init_db(): rets [ (1, 001, 活着, 小说, 39.9, 余华, 某某出版社), (2, 002, 三体, 科幻, 99.8, 刘慈欣, 重庆出版社) ] for ret in rets: book Book() book.id ret[0] book.book_number ret[1] book.book_name ret[2] book.book_type ret[3] book.book_prize ret[4] book.author ret[5] book.book_publisher ret[6] db.session.add(book) db.session.commit()使用之前需要 flask create 初始化一下数据、 接口部分 RESTful API 最佳实践(阮一峰) : https://www.ruanyifeng.com/blog/2018/10/restful-api-best-practice s.html Method Views for APIs: https://flask.palletsprojects.com/en/2.1.x/views/#method-views-for-apis from flask import Flask, request from flask_cors import CORS from flask.views import MethodView from extension import db from models import Book app Flask(__name__) CORS().init_app(app) app.config[SQLALCHEMY_DATABASE_URI] sqlite:///books.sqlite 完整源码文档加V:pytho8987免费获取验证记得备注“777” app.config[SQLALCHEMY_TRACK_MODIFICATIONS] False db.init_app(app) app.cli.command() def create(): db.drop_all() db.create_all() Book.init_db() app.route(/) def hello_world(): # put applications code here return Welcome Books! class BookApi(MethodView): def get(self, book_id): if not book_id: books: [Book] Book.query.all() results [ { id: book.id, book_name: book.book_name, book_type: book.book_type, book_prize: book.book_prize, book_number: book.book_number, book_publisher: book.book_publisher, author: book.author, } for book in books ] return { status: success, message: 数据查询成功, results: results } book: Book Book.query.get(book_id) return { status: success, message: 数据查询成功, result: { id: book.id, book_name: book.book_name, book_type: book.book_type, book_prize: book.book_prize, book_number: book.book_number, book_publisher: book.book_publisher, author: book.author, } } def post(self): form request.json book Book() book.book_number form.get(book_number) book.book_name form.get(book_name) book.book_type form.get(book_type) book.book_prize form.get(book_prize) book.author form.get(author) book.book_publisher form.get(book_publisher) db.session.add(book) db.session.commit() # id, book_number, book_name, book_type, book_prize, author, book_publisher return { status: success, message: 数据添加成功 } def delete(self, book_id): book Book.query.get(book_id) db.session.delete(book) db.session.commit() return { status: success, message: 数据删除成功 } def put(self, book_id): book: Book Book.query.get(book_id) book.book_type request.json.get(book_type) book.book_name request.json.get(book_name) book.book_prize request.json.get(book_prize) book.book_number request.json.get(book_number) book.book_publisher request.json.get(book_type) book.author request.json.get(book_type) db.session.commit() return { status: success, message: 数据修改成功 } book_api BookApi.as_view(book_api) app.add_url_rule(/books, view_funcbook_api, methods[GET, ], defaults {book_id: None}) app.add_url_rule(/books, view_funcbook_api, methods[POST, ]) app.add_url_rule(/books/int:book_id, view_funcbook_api, methods[GET, PUT, DELETE])前端部分 vite: https://vitejs.cn/ vue3: https://v3.cn.vuejs.org/ Element Plus: https://element-plus.gitee.io/zh-CN/ axios: https://axios-http.com/docs/intro 项目创建 C:\Users\xxp\Desktopnpm init vitelatest √ Project name: ... book-fontend √ Select a framework: » vue √ Select a variant: » vue Scaffolding project in C:\Users\xxp\Desktop\book-fontend... Done. Now run: cd book-fontend npm install npm run dev项目初始化 npm install element-plus npm install axios初始化 element-plus import {createApp} from vue import App from ./App.vue import ElementPlus from element-plus import element-plus/dist/index.css const app createApp(App) app.use(ElementPlus) app.mount(#app)页面创建 表单数据显示 template div stylemargin: 0 auto;width: 50%; h1 styletext-align: center图书管理系统/h1 !-- 添加图书按钮 -- el-button typeprimary clickadd_dialog_visible true sizesmall添 加图书/el-button !-- 数据表格 -- el-table :databooks stylemargin: 20px auto; el-table-column label编号 propbook_number/ el-table-column label书名 propbook_name/ el-table-column label类型 propbook_type/ el-table-column label价格 propbook_prize/ el-table-column label作者 propauthor/ el-table-column label出版社 propbook_publisher/ el-table-column alignright label操作 width200px template #defaultscope el-button sizesmall clickhandleEdit(scope.$index, scope.row) 编辑 /el-button el-button sizesmall typedanger clickhandleDelete(scope.$index, scope.row)删除 /el-button/template /el-table-column /el-table /div /templatescript setup import axios from axios import {reactive, ref, onMounted} from vue; import {ElMessageBox} from element-plus const books reactive([]) const getStudents () { axios.get(http://localhost:5000/books,).then(res { books.splice(0, books.length) books.push(...res.data.results) console.log(更新数据) }) } // 页面渲染之后添加数据 onMounted(() { getStudents() }) // 删除数据 const handleDelete (index, scope) { axios.delete(http://localhost:5000/books/${scope.id}).then(() { getStudents() }) } /script添加数据 html表单 !-- 添加图书页面 -- el-dialog title添加图书 v-modeladd_dialog_visible width30% :before-closehandleCloseel-form refruleFormRef :modelbook_form status-icon label-width120px classdemo-ruleFormel-form-item label编号 propbook_number el-input v-modelbook_form.book_number autocompleteoff/ /el-form-item el-form-item label书名 propbook_name el-input v-modelbook_form.book_name autocompleteoff/ /el-form-item el-form-item label类型 propbook_type el-input v-modelbook_form.book_type autocompleteoff/ /el-form-item el-form-item label价格 propbook_prize # 完整源码文档加V:pytho8987免费获取验证记得备注“777” el-input v-model.numberbook_form.book_prize autocompleteoff/ /el-form-item el-form-item label作者 propauthor el-input v-modelbook_form.author autocompleteoff/ /el-form-item el-form-item label出版社 propbook_publisher el-input v-modelbook_form.book_publisher autocompleteoff/ /el-form-item el-form-item el-button typeprimary clicksubmitForm(ruleFormRef)提交/elbutton el-button clickresetForm(ruleFormRef)重置/el-button /el-form-item /el-form /el-dialogJavaScript /*表单添加*/ const add_dialog_visible ref(false) const ruleFormRef ref() const book_form reactive({ book_number: , book_name: , book_type: , book_prize: , author: , book_publisher: , id: , }) // 表单提交事件 const submitForm (formEl) { 完整源码文档加V:pytho8987免费获取验证记得备注“777” axios.post(http://localhost:5000/books, book_form).then(() { add_dialog_visible.value false formEl.resetFields() getStudents() }) } // 重置表单 const resetForm (formEl) { formEl.resetFields() } // 关闭弹窗前确认 const handleClose (done) { ElMessageBox.confirm(确认关闭) .then(() { done(); }) .catch(() { }); }尾语 感谢你观看我的文章呐~本次航班到这里就结束啦 希望本篇文章有对你带来帮助 有学习到一点知识~ 躲起来的星星也在努力发光你也要努力加油让我们一起努力叭。 最后宣传一下呀~更多源码、资料、素材、解答、交流皆点击下方名片获取呀
http://www.zqtcl.cn/news/323050/

相关文章:

  • 如何选择制作网站公司心雨在线高端网站建设专业
  • 山西做网站如何选择2万元最简单装修
  • 广丰区建设局网站友情链接发布网
  • 沧州做网站的专业公司python做网站视频
  • 管理外贸网站模板下载大数据营销优势
  • 做网站的小图标硬盘做网站空间
  • 微信网站界面设计宁波网站优化公司推荐
  • 深圳商城网站开发七冶建设集团网站
  • 广州旅游网站建设设计公司wordpress长文章分页代码
  • 手机营销网站网站的字体
  • 设计网站大全软件互动营销用在哪些推广上面
  • 建设银行网站怎样查询贷款信息吗台州网站制作 外贸
  • 建设网站的步骤知乎app开发定制公司
  • 怎样自己做刷赞网站专业网站设计服务
  • 云主机建站如何让自己做的博客网站上线
  • 目前我们的网站正在建设中做网站违反广告法
  • 有没有做美食的规模网站怎么做国外的网站吗
  • 竭诚网络网站建设开发杭州百度推广
  • 怎样购买起名软件自己做网站小程序制作收费
  • 制作企业网站欢迎界面素材cuntlove wordpress
  • 适合建设网站的国外服务器人工智能培训机构
  • 怎么套网站潜江资讯网招聘信息
  • 网站建设 微信公众号建设网站需要
  • 做房产经纪的那些网站可以进客网站关键词排名如何做
  • 网站建设实验总结百科wordpress 前台插件
  • 招聘网站建设销售成都 网站建设
  • 手机选择网站wordpress捐赠按钮
  • 网站建设上动漫制作教学
  • 怎么用cms做网站计算机网络技术专业
  • 建设部颁发的证书网站请问注册公司怎么注册