Flask–(创建第一个简单应用程序)

使用python构建网页。

null

有许多模块或框架允许使用python构建网页,比如瓶子、Django、flask等,但真正流行的是flask和Django。与Flask相比,Django易于使用,但Flask提供了编程的多功能性。 要理解烧瓶是什么,你必须了解几个一般术语。

  1. WSGI Web服务器网关接口(WSGI)已被用作Python Web应用程序开发的标准。WSGI是web服务器和web应用程序之间通用接口的规范。
  2. Werkzeug 它是一个WSGI工具包,用于实现请求、响应对象和其他实用程序功能。这样就可以在上面构建一个web框架。烧瓶框架使用Werkzeug作为其基础之一。
  3. 金甲2号 jinja2是一个流行的Python模板引擎。web模板系统将模板与特定数据源结合起来,以呈现动态网页。

瓶子 :

Flask是一个用Python编写的web应用程序框架。Flask基于Werkzeug WSGI工具包和Jinja2模板引擎。两者都是Pocco项目。

安装:

我们需要两个软件包来设置您的环境。 虚拟的 用户可以同时创建多个Python环境。因此,它可以避免不同版本的库之间的兼容性问题,下一个版本将被删除 瓶子 它本身

  • 虚拟的
pip install virtualenv
  • 瓶子
pip install Flask

在完成软件包的安装之后,让我们开始了解代码。

Python3

# Importing flask module in the project is mandatory
# An object of Flask class is our WSGI application.
from flask import Flask
# Flask constructor takes the name of
# current module (__name__) as argument.
app = Flask(__name__)
# The route() function of the Flask class is a decorator,
# which tells the application which URL should call
# the associated function.
@app .route( '/' )
# ‘/’ URL is bound with hello_world() function.
def hello_world():
return 'Hello World'
# main driver function
if __name__ = = '__main__' :
# run() method of Flask class runs the application
# on the local development server.
app.run()


将其保存在一个文件中,然后运行脚本,我们将得到如下输出。

图片[1]-Flask–(创建第一个简单应用程序)-yiteyi-C++库

然后转到给定的url,您将在本地服务器上看到第一个显示hello world的网页。 进一步挖掘上下文 路线() Flask中的decorator用于将URL绑定到函数。现在,为了扩展这一功能,我们的小型web应用程序还配备了另一种方法 添加_url_规则() 它是应用程序对象的函数,也可用于将URL与函数绑定,如上例所示,使用route()。

例子:

def gfg():
   return ‘geeksforgeeks’
app.add_url_rule(‘/’, ‘g2g’, gfg)

输出:

geeksforgeeks

你也可以在你的webapp中添加变量,你可能会想它将如何帮助你,它将帮助你动态地构建一个URL。让我们用一个例子来解释。

Python3

from flask import Flask
app = Flask(__name__)
@app .route( '/hello/<name>' )
def hello_name(name):
return 'Hello %s!' % name
if __name__ = = '__main__' :
app.run()


然后转到URL http://127.0.0.1:5000/hello/geeksforgeeks 它将为您提供以下输出。

图片[2]-Flask–(创建第一个简单应用程序)-yiteyi-C++库

我们也可以在Flask中使用HTTP方法,让我们看看如何做到这一点 HTTP协议是万维网数据通信的基础。该协议定义了从指定URL检索数据的不同方法。这些方法如下所述。

获取: 以简单或未加密的形式将数据发送到服务器。 负责人: 以简单或未加密的形式将数据发送到服务器,无需正文。 负责人: 将表单数据发送到服务器。数据不会被缓存。 放: 用更新的内容替换目标资源。 删除: 删除作为URL提供的目标资源。

默认情况下,Flask路由响应GET请求。但是,可以通过向route()decorator提供方法参数来更改此首选项。 为了演示POST方法在URL路由中的使用,首先让我们创建一个HTML表单,并使用POST方法将表单数据发送到URL。 现在让我们创建一个html登录页面。 下面是该文件的源代码

HTML

< html >
< body >
< form action = " http://localhost:5000/login " method = "post" >
< p >Enter Name:</ p >
< p >< input type = "text" name = "nm" /></ p >
< p >< input type = "submit" value = "submit" /></ p >
</ form >
</ body >
</ html >


现在将这个文件保存为html,并尝试使用这个python脚本来创建服务器。

Python3

from flask import Flask, redirect, url_for, request
app = Flask(__name__)
@app .route( '/success/<name>' )
def success(name):
return 'welcome %s' % name
@app .route( '/login' ,methods = [ 'POST' , 'GET' ])
def login():
if request.method = = 'POST' :
user = request.form[ 'nm' ]
return redirect(url_for( 'success' ,name = user))
else :
user = request.args.get( 'nm' )
return redirect(url_for( 'success' ,name = user))
if __name__ = = '__main__' :
app.run(debug = True )


开发服务器开始运行后,打开登录。在浏览器中,在文本字段中输入名称,然后单击 提交 按钮输出如下。

图片[3]-Flask–(创建第一个简单应用程序)-yiteyi-C++库

结果会是这样

图片[4]-Flask–(创建第一个简单应用程序)-yiteyi-C++库

还有比这更重要的事。如果您对Python的这个web框架感兴趣,可以深入下面提供的链接以获取更多信息。

本文由 Subhajit Saha .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以使用 写极客。组织 或者把你的文章寄去评论-team@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。 如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享