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

建网站大概多少费用深圳公司举报网站

建网站大概多少费用,深圳公司举报网站,自己做的网站怎么发布win7,网战#x1f44f;作者简介#xff1a;大家好#xff0c;我是爱敲代码的小王#xff0c;CSDN博客博主,Python小白 #x1f4d5;系列专栏#xff1a;python入门到实战、Python爬虫开发、Python办公自动化、Python数据分析、Python前后端开发 #x1f4e7;如果文章知识点有错误… 作者简介大家好我是爱敲代码的小王CSDN博客博主,Python小白 系列专栏python入门到实战、Python爬虫开发、Python办公自动化、Python数据分析、Python前后端开发 如果文章知识点有错误的地方请指正和大家一起学习一起进步 如果感觉博主的文章还不错的话请三连支持一下博主哦 博主正在努力完成2023计划中以梦为马扬帆起航2023追梦人 python入门到实战专栏从入门到实战  Python爬虫开发专栏从入门到实战  Python办公自动化专栏从入门到实战 Python数据分析专栏从入门到实战 Python前后端开发专栏从入门到实战 文章目录 模板继承  继承模板实战  add_url_rule与app.route 类视图 类视图的好处 类视图使用场景 基于调度方法的类视图 模板继承  为什么需要模版继承 模版继承可以把一些公用的代码单独抽取出来放到一个父模板中以后子模板直接继承就可以使用了。这样可以重复的利用代码并且以后修改起来也比较方便 模版继承语法 使用 extends 语句来指明继承的父模板。父模板的路径也是相对于 templates 文件夹下的绝对路径 {% extends base.html %} block语法 一般在父模版中定义一些公共的代码。子模板可能要根据具体的需求实现不同的代码。 这时候父模版就应该有能力提供一个接口让子模板来实现。从而实现具体业务需求的功能。 父模板 {% block block的名字 %} {% endblock %} 子模板 {% block block的名字 %} 子模板中的代码 {% endblock %} 调用父模版代码block中的代码 默认情况下子模板如果实现了父模版定义的block。那么子模板block中的代码就会覆盖掉父模板中的代码。如果想要在子模板中仍然保持父模板中的代码那么可以使用 {{ super() }} 来实现 父模板  {% block block_body %}p stylebackground-color: blue我是父模版block_body处的内容/p {% endblock %} 子模板 {% block block_body%}{{ super() }}p stylebackground-color: green我是子模版block_body处的内容/p {% endblock %} 调用另外一个block中的代码 如果想要在另外一个模版中使用其他模版中的代码。那么可以通过 {{ self.其他block名字() }} 就可以了 {% block title %}txc首页 {% endblock %} {% block block_body%}{{ self.title() }}p stylebackground-color: green我是子模版block_body处的内容/p {% endblock %} 注意 1. 子模板中的代码第一行应该是 extends 2. 子模板中如果要实现自己的代码应该放到block中。如果放到其他地方那么就不会被渲染 继承模板实战  实现如下页面需要使用 1、模板继承 2、引入静态资源 add_url_rule与app.route add_url_rule add_url_rule(rule,endpointNone,view_funcNone) 这个方法用来添加url与视图函数的映射。如果没有填写 endpoint 那么默认会使用 view_func 的名字作为 endpoint 。以后在使用 url_for 的时候就要看在映射的时候有没有传递 endpoint 参数如果传递了那么就应该使用 endpoint 指定的字符串如果没有传递那么就应该使用 view_func 的名字。 def my_list():return 我是列表页app.add_url_rule(/list/,endpointsxt,view_funcmy_list) app.route原理剖析 这个装饰器底层其实也是使用 add_url_rule 来实现url与视图函数映射的。 from flask import Flask,url_forapp Flask(__name__)app.route(/,endpointindex) def index():print(url_for(show))print(url_for(index))return Hellodef show_me():return 这个介绍信息# endpoint 没有设置url_for中就写函数的名字如果设置了就写endpoint的值 app.add_url_rule(/show_me,view_funcshow_me,endpointshow) # app.route 底层就是使用的 add_url_ruleif __name__ __main__:app.run(debugTrue) 类视图 之前我们接触的视图都是函数所以一般简称函数视图。其实视图也可以基于类来实现类视图的好处是支持继承但是类视图不能跟函数视图一样写完类视图还需要通过app.add_url_rule(url_rule,view_func) 来进行注册 标准类视图使用步骤 1. 标准类视图必须继承自 flask.views.View 2. 必须实现 dispatch_request 方法以后请求过来后都会执行这个方法。 这个方法的返回值就相当于是之前的视图函数一样。也必须返回 Response 或者子类的对象或者是字符串或者是元组。 3. 必须通过 app.add_url_rule(rule,endpoint,view_func) 来做url与视图的映射。 view_func 这个参数需要使用类视图下的 as_view 类方法类转换ListView.as_view(list) 。 4. 如果指定了 endpoint 那么在使用 url_for 反转的时候就必须使用 endpoint 指定的那个值。如果没有指定 endpoint 那么就可以使用 as_view(视图名字) 中指定的视图名字来作为反转。 from flask import Flask,url_for from flask.views import View app Flask(__name__)app.route(/) def index():# print(url_for(mylist))print(url_for(my))return Helloclass ListView(View):def dispatch_request(self):return 返回了一个List的内容 #app.add_url_rule(/list,view_funcListView.as_view(mylist))app.add_url_rule(/list,endpointmy,view_funcListView.as_view(mylist))# 用于测试 with app.test_request_context():print(url_for(my))if __name__ __main__:app.run(debugTrue) 类视图的好处 1.可以继承把一些共性的东西抽取出来放到父视图中子视图直接拿来用就可以了。  2.但是也不是说所有的视图都要使用类视图这个要根据情况而定。视图函数用得最多。 from flask import Flask,jsonify from flask.views import Viewapp Flask(__name__)# 需求返回的结果都必须是json数据 class BaseView(View):def get_data(self):raise NotImplementedErrordef dispatch_request(self):return jsonify(self.get_data())class JsonView(BaseView):def get_data(self):return {uname:吕布,age:20}class Json2View(BaseView):def get_data(self):return [{name:艾派徳,lua:Python},{name:程序员,lua:Python},]app.add_url_rule(/base,view_funcBaseView.as_view(base)) app.add_url_rule(/json,view_funcJsonView.as_view(json)) app.add_url_rule(/json2,view_funcJson2View.as_view(json2))if __name__ __main__:app.run(debugTrue) 类视图使用场景 from flask import Flask,render_template from flask.views import Viewapp Flask(__name__)class BaseView(View):def __init__(self):self.msg {main:又更新了123}class LoginView(BaseView):def dispatch_request(self):my_msg 神奇的登录功能self.msg[my_msg] 神奇的登录功能# return render_template(login.html,msg self.msg.get(main),my_msg my_msg)return render_template(login.html,**self.msg)class RegisterView(BaseView):def dispatch_request(self):self.msg[my_msg] 快捷的注册功能# return render_template(register.html,msg self.msg.get(main),my_msg my_msg)return render_template(register.html,**self.msg)app.add_url_rule(/login,view_func LoginView.as_view(login)) app.add_url_rule(/register,view_func RegisterView.as_view(register))if __name__ __main__:app.run(debugTrue) 基于调度方法的类视图 1. 基于方法的类视图是根据请求的 method 来执行不同的方法的。如果用户是发送的 get 请求那么将会执行这个类的 get 方法。 如果用户发送的是 post 请求那么将会执行这个类的 post 方法。其他的method类似比如 delete 、 put 2. 这种方式可以让代码更加简洁。所有和 get 请求相关的代码都放在 get 方法中所有和 post 请求相关的代码都放在 post 方法中。就不需要跟之前的函数一样通过 request.method GET 案例  HTML form action/login/  methodposttabletrtd账号/tdtdinput typetext nameuname/td/trtrtd密码/tdtdinput typepassword namepwd/td/trtrtd/tdtdinput typesubmit value立即登录/td/trtrtd colspan2{# font  colorred{{ error }}/font#}{# 优化写法 判断 #}{% if error %}font  colorred{{ error }}/font{% endif %}/td/tr/table /form python #定义一个基于方法调度的 类视图 class  LoginView(views.MethodView):def get(self):return  render_template(login.html)def post(self):#模拟实现#拿到前端页面传过来的 账号 和密码 去数据库做查询操作 查询到 (跳转主页面) ,反之跳转到login.html页面并给出错误提示信息uname request.form[uname]pwd request.form[pwd]if  unameaps  and  pwd 123:return  render_template(index.html)else:return  render_template(login.html,error用户名或者密码错误)# 注册类视图 app.add_url_rule(/login/, view_funcLoginView.as_view(my_login)) 改进1 class  LoginView(views.MethodView):def get(self,errorNone):return  render_template(login.html,errorerror)def post(self):#模拟实现#拿到前端页面传过来的 账号 和密码 去数据库做查询操作 查询到 (跳转主页面) ,反之跳转到 login.html页面并给出错误提示信息uname request.form[uname]pwd request.form[pwd]if  unameaps  and  pwd 123:return  render_template(index.html)else:return  self.get(error用户名或者密码错误)# 注册类视图 app.add_url_rule(/login/,view_funcLoginView.as_view(my_login)) 改进2 基于调度方法的类视图, 通常get()方法处理get请求,post()方法处理 post请求, 为了便于管理,不推荐post方法和get方法互相调用 class LoginView(views.MethodView):  def __jump(self,errorNone):   return render_template(login.html, errorerror)  def get(self, errorNone):    return self.__jump()  def post(self):    # 模拟实现    #拿到前端页面传过来的 账号 和密码 去数据库做查询操作 查询到 (跳转主页面) ,反之跳转到 login.html页面并给出错误提示信息    uname request.form[uname]   pwd request.form[pwd]    if uname sxt and pwd 123:return render_template(index.html)    else:      return self.__jump(error用户名或者密码错误)# 注册类视图app.add_url_rule(/login/,view_funcLoginView.as_view(my_login))
http://www.pierceye.com/news/29101/

相关文章:

  • 罗庄区住房和城乡建设局网站网站接口设置
  • 南磨房做网站公司网址导航模板
  • 石家庄营销型网站建设费用护肤品网站建设的摘要
  • 谁有马和人做的网站学校网站的建设费用
  • php网站开发方案注册安全工程师考试结果查询
  • 网站开发要跑道吗建行网上银行
  • 浙江新中环建设有限公司 网站山东潍坊网站制作公司
  • html网页制作接单南宁seo按天收费
  • 陶瓷 中企动力 网站建设定制网络接口报警灯生产厂商
  • 嘉兴网站备案去哪里呼叫中心系统有哪些
  • 企业网站建设源码+微信+手机网站图片的作用
  • 站长工具域名查询自己做的网站搜索不到
  • 2h1g做视频网站980网站
  • 网站打不开 别人能打开dedecms和wordpress
  • 上海网站开发月薪多少钱wd设计视图可以做网站吗
  • 杭州市拱墅区住房与建设局网站手机上传网站源码
  • 做感恩网站的图片大全奉贤宜昌网站建设
  • seo网站诊断顾问济南网站优化推广方案
  • 湛江网站建设方案托管加油卡系统搭建
  • 装修平台网站排名前十名wordpress 附件大小 1m
  • 请人做网站要多做网站都有什么成本
  • 房地产网站怎么做加强意识形态建设 办好政协网站
  • 门户网站建设wordpress 301怎么写
  • 网站和做游戏品牌视觉设计
  • 网站怎么做详情页wordpress 注册 边栏
  • 爱站网关键词挖掘查询安徽建站平台
  • 手工包网站建设策划书深圳网站建设的客户在哪里
  • 兰州网站建设托管seo属于运营还是技术
  • 成都企业模板建站微博推广费用一般多少
  • 找人做网站都要提供什么一键转换wordpress