使用python构建网页。
有许多模块或框架允许使用python构建网页,比如瓶子、Django、flask等,但真正流行的是flask和Django。与Flask相比,Django易于使用,但Flask提供了编程的多功能性。 要理解烧瓶是什么,你必须了解几个一般术语。
- WSGI Web服务器网关接口(WSGI)已被用作Python Web应用程序开发的标准。WSGI是web服务器和web应用程序之间通用接口的规范。
- Werkzeug 它是一个WSGI工具包,用于实现请求、响应对象和其他实用程序功能。这样就可以在上面构建一个web框架。烧瓶框架使用Werkzeug作为其基础之一。
- 金甲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() |
将其保存在一个文件中,然后运行脚本,我们将得到如下输出。
然后转到给定的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 它将为您提供以下输出。
我们也可以在Flask中使用HTTP方法,让我们看看如何做到这一点 HTTP协议是万维网数据通信的基础。该协议定义了从指定URL检索数据的不同方法。这些方法如下所述。
获取: 以简单或未加密的形式将数据发送到服务器。 负责人: 以简单或未加密的形式将数据发送到服务器,无需正文。 负责人: 将表单数据发送到服务器。数据不会被缓存。 放: 用更新的内容替换目标资源。 删除: 删除作为URL提供的目标资源。
默认情况下,Flask路由响应GET请求。但是,可以通过向route()decorator提供方法参数来更改此首选项。 为了演示POST方法在URL路由中的使用,首先让我们创建一个HTML表单,并使用POST方法将表单数据发送到URL。 现在让我们创建一个html登录页面。 下面是该文件的源代码
HTML
< html > < body > < 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 ) |
开发服务器开始运行后,打开登录。在浏览器中,在文本字段中输入名称,然后单击 提交 按钮输出如下。
结果会是这样
还有比这更重要的事。如果您对Python的这个web框架感兴趣,可以深入下面提供的链接以获取更多信息。
本文由 Subhajit Saha .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以使用 写极客。组织 或者把你的文章寄去评论-team@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。 如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。