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

企业建设网站作用西安建设集团网站

企业建设网站作用,西安建设集团网站,wordpress防下载,owasp+网站开发python web框架 flask基础入门教程 今天我们写一个flask基础入门教程#xff0c;当然也会覆盖很多重要的知识点#xff0c;在这篇博客中#xff0c;我们主要会讲解如下内容#xff1a; 1、通过flask框架向web传输和接收参数 2、实现静态图片插入和图书上传 3、实现搭建…python web框架 flask基础入门教程 今天我们写一个flask基础入门教程当然也会覆盖很多重要的知识点在这篇博客中我们主要会讲解如下内容 1、通过flask框架向web传输和接收参数 2、实现静态图片插入和图书上传 3、实现搭建的网站局域网共享 4、实现html模板继承 5、实现javascript 、css渲染 6、连接数据库创建模型实现自动建表 7、实现对数据库表的增删改查 8、实现按钮与函数交互 9、实现链接跳转 那么先开始我们的第一条内容 项目文件结构如下 然后导入相关库 from flask import Flask, request, render_templatefrom datetime import datetime from flask import render_template from FlaskWebLearning import app from flask_sqlalchemy import SQLAlchemyimport pymysql1、通过flask框架向web传毒和接收参数 先让我们来看一下最简单的路由程序 app.route(/) app.route(/home) def home():returnhello world 通过上面方法程序我们就可以实现这样的结果 对于这部份内容我们先看第一种传输数据的方式 app.route(/test2/your_word) def test3(your_word):return 你想说的话:your_word运行我们的app之后输入如下网址我们可以得到这样的结果 第二中我们则也可以通过后端进行数据传输进行数据传输并将数据传输给模板 app.route(/cs/title) def cs(title):return render_template(about.html,titletitle,message测试程序)输入链接http://127.0.0.1:5555/cs/dfafd、得到如下界面 注做到这一步其实就用到了模板下面我们把本次用到的所有的模板列出来 about.html {% extends layout.html %}{% block content %}h2{{ title }}./h2 h3{{ message }}/h3img src{{url_for(static,filenameimage/6.png)}} pUse this area to provide additional information./paddressOne Microsoft Waybr /Redmond, WA 98052-6399br /abbr titlePhoneP:/abbr425.555.0100 /addressaddressstrongSupport:/strong a hrefmailto:Supportexample.comSupportexample.com/abr /strongMarketing:/strong a hrefmailto:Marketingexample.comMarketingexample.com/a /address{% endblock %} form.html {% extends layout.html %}{% block content %}form action{{ url_for(form) }} methodpostlabel forusernameUsername/labelbrinput typetext nameusername placeholderHéctor Riverabrlabel forpasswordPassword/labelbrinput typepassword namepassword placeholder19001130brinput typesubmit namesubmit valueLog in /forma hrefhttps://bilibili.com网址直接跳转/a a href/link链接跳转/a!--a hrefimages/1.webp相对路径跳转/a网址直接跳转/a--addressOne Microsoft Waybr /Redmond, WA 98052-6399br /abbr titlePhoneP:/abbr425.555.0100/addressaddressstrongSupport:/strong a hrefmailto:Supportexample.comSupportexample.com/abr /strongMarketing:/strong a hrefmailto:Marketingexample.comMarketingexample.com/a/address{% endblock %} index.html {% extends layout.html %}{% block content %}div classjumbotronh1Flask/h1p classleadFlask is a free web framework for building great Web sites and Web applications using HTML, CSS and JavaScript./ppa hrefhttp://flask.pocoo.org/ classbtn btn-primary btn-largeLearn more raquo;/a/p /div divform methodpost action/up_photo enctypemultipart/form-datainput typefile size30 namephoto /brinput typetext classtxt_input namename stylemargin-top:15px; /input typesubmit value提交信息 classbutton-new stylemargin-top:15px; //form /div div classrowdiv classcol-md-4h2Getting started/h2pFlask gives you a powerful, patterns-based way to build dynamic websites thatenables a clean separation of concerns and gives you full control over markupfor enjoyable, agile development./ppa classbtn btn-default hrefhttp://flask.pocoo.org/docs/Learn more raquo;/a/p/divdiv classcol-md-4h2Get more libraries/h2pThe Python Package Index is a repository of software for the Python programming language./ppa classbtn btn-default hrefhttps://pypi.python.org/pypiLearn more raquo;/a/p/divdiv classcol-md-4h2Microsoft Azure/h2pYou can easily publish to Microsoft Azure using Visual Studio. Find out how you can host your application using a free trial today./ppa classbtn btn-default hrefhttp://azure.microsoft.comLearn more raquo;/a/p/div /div{% endblock %} layout.html !DOCTYPE html html headmeta charsetutf-8 /meta nameviewport contentwidthdevice-width, initial-scale1.0title{{ title }} - My Flask Application/titlelink relstylesheet typetext/css href/static/content/bootstrap.min.css /link relstylesheet typetext/css href/static/content/site.css /script src/static/scripts/modernizr-2.6.2.js/script /headbodydiv classnavbar navbar-inverse navbar-fixed-topdiv classcontainerdiv classnavbar-headerbutton typebutton classnavbar-toggle data-togglecollapse data-target.navbar-collapsespan classicon-bar/spanspan classicon-bar/spanspan classicon-bar/span/buttona href/ classnavbar-brandApplication name/a/divdiv classnavbar-collapse collapseul classnav navbar-nav/ul/div/div/divdiv classcontainer body-content{% block content %}{% endblock %}hr /footerpcopy; {{ year }} - My Flask Application/p/footer/divscript src/static/scripts/jquery-1.10.2.js/scriptscript src/static/scripts/bootstrap.js/scriptscript src/static/scripts/respond.js/script{% block scripts %}{% endblock %}/body /html test.html !DOCTYPE html html headmeta http-equivContent-Type contenttext/html; charsetGBK /meta nameviewport contentwidthdevice-width, initial-scale1.0title{{ title }} - My Flask Application/titlelink relstylesheet typetext/css href/static/content/bootstrap.min.css /link relstylesheet typetext/css href/static/content/site.css /script src/static/scripts/modernizr-2.6.2.js/script /headbodyh2濮撳悕锛歿{person.name}}/h2h2骞撮緞锛歿{person.age}}/h2div classcontainer body-content{% block content %}{% endblock %}hr /footerpcopy; {{ year }} - My Flask Application/p/footer/divscript src/static/scripts/jquery-1.10.2.js/scriptscript src/static/scripts/bootstrap.js/scriptscript src/static/scripts/respond.js/script{% block scripts %}{% endblock %}/body /html test2.html !DOCTYPE html html headmeta http-equivContent-Type contenttext/html; charsetGBK /meta nameviewport contentwidthdevice-width, initial-scale1.0title{{ title }} - My Flask Application/titlelink relstylesheet typetext/css href/static/content/bootstrap.min.css /link relstylesheet typetext/css href/static/content/site.css /script src/static/scripts/modernizr-2.6.2.js/script /headbodyh2{{strz|dformat}}/h2div classcontainer body-content{% block content %}{% endblock %}hr /footerpcopy; {{ year }} - My Flask Application/p/footer/divscript src/static/scripts/jquery-1.10.2.js/scriptscript src/static/scripts/bootstrap.js/scriptscript src/static/scripts/respond.js/script{% block scripts %}{% endblock %}/body /html test3.html !DOCTYPE html html headmeta http-equivContent-Type contenttext/html; charsetutf8 /meta nameviewport contentwidthdevice-width, initial-scale1.0title{{ title }} - My Flask Application/titlelink relstylesheet typetext/css href/static/content/bootstrap.min.css /link relstylesheet typetext/css href/static/content/site.css /script src/static/scripts/modernizr-2.6.2.js/script /headbody{%if age18 %}p鏈弧18宀侊紝鍙互鍘荤綉鍚т簡/p{% else %}p宸叉弧18宀侊紝涓嶅彲浠ュ幓缃戝惂/p{% endif %}div classcontainer body-content{% block content %}{% endblock %}hr /footerpcopy; {{ year }} - My Flask Application/p/footer/divscript src/static/scripts/jquery-1.10.2.js/scriptscript src/static/scripts/bootstrap.js/scriptscript src/static/scripts/respond.js/script{% block scripts %}{% endblock %}/body /html 同样我们也可以传输我们的对象给前端 app.route(/person) def person():pPerson(zhangsan,78)return render_template(test.html,personp) 下面做一个小插曲html过滤器的使用 注意过滤器其实非常非常重要他的作用性很大可以帮助我们处理各种各样的字符数字等转换 def filter1(value):return value[2:5] app.add_template_filter(filter1,dformat)app.route(/filter/s) def filter(s):return render_template(test2.html,strzs) 2、实现静态图片插入和图书上传 1静态图片插入这部分内容其实比较简单哈 看一下代码 img src{{url_for(static,filenameimage/6.png)}}完整代码如下 {% extends layout.html %}{% block content %}h2{{ title }}./h2 h3{{ message }}/h3img src{{url_for(static,filenameimage/6.png)}} pUse this area to provide additional information./paddressOne Microsoft Waybr /Redmond, WA 98052-6399br /abbr titlePhoneP:/abbr425.555.0100 /addressaddressstrongSupport:/strong a hrefmailto:Supportexample.comSupportexample.com/abr /strongMarketing:/strong a hrefmailto:Marketingexample.comMarketingexample.com/a /address{% endblock %} 通过这个代码我们就可以实现静态图片插入 2图片上传 路由函数 app.route(/index) def index():return render_template(index.html)app.route(/up_photo, methods[post]) def up_photo():img request.files.get(photo)username request.form.get(name)path rFlaskWebLearning/static/image/file_path pathimg.filenameimg.save(file_path)print(上传头像成功上传的用户是username)return render_template(index.html)注意先进入/index路由会显示图片上传界面 3、实现搭建的网站局域网共享 这里比简单 只需要在app.run()的时候传入host‘0.0.0.0’那么你搭建的网站链接局域网的就都可以访问了。 #codinggbk from os import environfrom FlaskWebLearning import appif __name__ __main__:HOST 222.19.67.89try:PORT int(environ.get(SERVER_PORT, 5555))except ValueError:PORT 5555app.run(host0.0.0.0,port5555) 4、实现html模板继承 模板继承 {% extends layout.html %}{% extends layout.html %}{% block content %}h2{{ title }}./h2 h3{{ message }}/h3img src{{url_for(static,filenameimage/6.png)}} pUse this area to provide additional information./paddressOne Microsoft Waybr /Redmond, WA 98052-6399br /abbr titlePhoneP:/abbr425.555.0100 /addressaddressstrongSupport:/strong a hrefmailto:Supportexample.comSupportexample.com/abr /strongMarketing:/strong a hrefmailto:Marketingexample.comMarketingexample.com/a /address{% endblock %} 这就是模板继承的代码会把layout.html先加载那么还有模板补充 {% block content %} {% endblock %}之间的内容会被补充道layout.html网页里补充的地方就在 对应的{% block content %} {% endblock %}之间 5、实现javascript 、css渲染 这个代码比较简单 headmeta charsetutf-8 /meta nameviewport contentwidthdevice-width, initial-scale1.0title{{ title }} - My Flask Application/titlelink relstylesheet typetext/css href/static/content/bootstrap.min.css /link relstylesheet typetext/css href/static/content/site.css /script src/static/scripts/modernizr-2.6.2.js/script /head6、连接数据库创建模型实现自动建表 链接数据库 pymysql.install_as_MySQLdb()# 设置数据库连接地址 app.config[SQLALCHEMY_DATABASE_URI] mysql://root:密码127.0.0.1:3306/数据库名?charsetutf8 # 是否追踪数据库修改(开启后会触发一些钩子函数) 一般不开启, 会影响性能 app.config[SQLALCHEMY_TRACK_MODIFICATIONS] False # 是否显示底层执行的SQL语句 app.config[SQLALCHEMY_ECHO] Truedb SQLAlchemy(app) 创建模型 #ORM对象关系映射class User(db.Model):__tablename__useriddb.Column(db.Integer,primary_keyTrue,autoincrementTrue)usernamedb.Column(db.String(100))passworddb.Column(db.String(100))# articlesdb.relationship(Article,back_populatesauthor)class Article(db.Model):__tablename__articleiddb.Column(db.Integer,primary_keyTrue,autoincrementTrue)titledb.Column(db.String(200),nullableFalse)contentdb.Column(db.Text,nullableFalse)author_iddb.Column(db.Integer,db.ForeignKey(user.id))authordb.relationship(User,backrefarticles) 实现自动建表 #userUser(username张三,password123456)with app.app_context():db.create_all()7、实现对数据库表的增删改查 数据库增加表数据: app.route(/user/add) def add_user():user1User(username张三,password123456)user2User(username李四,password123456)user3User(username王五,password123456)db.session.add(user1)db.session.add(user2)db.session.add(user3)db.session.commit()return 用户数据导入成功 数据库删除表数据: app.route(/user/delete) def delete_user():user1db.query.get(1)#根据主键查找print(user1)db.session.delete(user1)db.session.commit()return 数据删除成功 数据库修改表数据: app.route(/user/update) def updatae_user():usersUser.query.filter_by(username李四)#根据主键查找for user in users:user.password222222# db.session.delete(user1)db.session.commit()return 数据更新成功 数据库查询表数据: app.route(/user/query) def query_user():user1User.query.get(1)#根据主键查找print(user1)usersUser.query.filter_by(username李四)#根据主键查找print(users)usersUser.query.all()#根据主键查找sfor i in users:print(i.username,i.password)ssi.username i.password\ndb.session.commit()return s8、实现按钮与函数交互 最后呢我们做一个按钮和函数交互的操作并实现数据库的数据增加 app.route(/page, methods[GET, POST]) def page():return render_template(form.html) app.route(/form, methods[GET, POST]) def form():if request.method POST:username1 request.form[username]password1 request.form[password]print(username1, password1)user1User(usernameusername1,passwordpassword1)db.session.add(user1)db.session.commit()return 数据导入成功return hello {% extends layout.html %}{% block content %}form action{{ url_for(form) }} methodpostlabel forusernameUsername/labelbrinput typetext nameusername placeholderHéctor Riverabrlabel forpasswordPassword/labelbrinput typepassword namepassword placeholder19001130brinput typesubmit namesubmit valueLog in /forma hrefhttps://bilibili.com网址直接跳转/a a href/link链接跳转/a!--a hrefimages/1.webp相对路径跳转/a网址直接跳转/a--addressOne Microsoft Waybr /Redmond, WA 98052-6399br /abbr titlePhoneP:/abbr425.555.0100/addressaddressstrongSupport:/strong a hrefmailto:Supportexample.comSupportexample.com/abr /strongMarketing:/strong a hrefmailto:Marketingexample.comMarketingexample.com/a/address{% endblock %} 首先进入page路由 然后输入数据 点击log in: 刚才输入的数据就会被导入数据库。
http://www.pierceye.com/news/602029/

相关文章:

  • 口岸地区网站建设内容塔里木油田公司档案馆网站建设研究
  • 网站备案属于公司哪一块石家庄最新状况
  • 秦州建设网站免费代刷网站推广
  • 怎么查看一个网站是用什么程序做的我的家乡湛江网站设计
  • 沈阳网页模板建站开发手机app多少钱
  • 全国建设注册中心网站网页设计师培训价格
  • 做网站地图泰安百度公司代理商
  • 网站后台管理员密码汽车网站更新怎么做
  • 广东省网站备案查询怎么建设网站空间和备案
  • 企业网站软件下载红木家具网站模板
  • 如何创建网站步骤湖北网站制作公司的联系方式
  • 佛山建网站费用seo推广效果怎么样
  • 如何选择网站建设公司永州网页定制
  • 淮北市重点工程建设局网站重庆哪家网站
  • 音乐网站开发背景及意义自定义建设网站
  • 商标设计网站猪八戒宝塔一键wordpress
  • 公司网站用什么开发网站 建设 计划书
  • 安陆市城乡建设局网站w10怎么做信任网站
  • wordpress上站工具内网门户网站
  • 商城网站服务器漳浦建设银行网站
  • 可视化 网站开发工具音乐网站后台管理模板
  • 网站架构功能模块及描述网站聊天怎么做
  • 京东电子商务网站的建设做网站运营需要什么资源
  • 市北建筑建网站哪家好个体户可以做网站吗
  • 怎么建自己的网站?网站优化包括哪些内容
  • 网站后台登录域名国外网站网站app
  • 山西建设工程协会网站wordpress二次元主题个人
  • 加强人社局网站建设获取小程序api
  • 服务器网站备案学生ppt模板免费下载 素材
  • 手机做网站软件运营管理培训