我如何使用Python作为服务器端语言?
我想使用Python而不是PHP(只用于教育目的)。我在XAMPP上测试了我的网页,并且我已经将python和cgi添加到了配置中。 我设法让一个非常基本的网页与此代码我如何使用Python作为服务器端语言?
#!/Python/python
print("Content-Type: text/plain;charset=utf-8")
print()
print("Hello World!")
虽然,这是它。我无法找到关于如何使用Python 3+为网页提供服务的任何信息。大部分信息已过时或存在争议。是否有关于如何将Python用作服务器端语言的最新指南?
Python可以是一个很大方服务器的语言,而不是在PHP的方式是。强烈建议使用框架,如烧瓶。
在PHP中,你有不同的.php文件(如index.php
)做基本的路由,但是在python中(使用Flask和其他一些框架),你必须在函数中定义URI路径。
你可以在这里看到一个例子,从它的网页Flask
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
if __name__ == "__main__":
app.run()
如果你找一个API REST框架,看看到Falcon
Nicarus说的是一个有效的sugestion但我还推荐一些其他的东西。首先,对于你的开发环境,你不需要使用xampp或者wamp或者其他的东西,python有它自己的HTTP服务器,尽管不是最简单的东西,我将在下面解释的库和框架使用它。
所以,大多数的Python Web开发人员不使用原始的Python使用Python作为他们的编程语言中的网页。大多数开发人员使用某种框架或库。这些框架的范围从像Django这样相当沉重和自以为是的人,到像Flask这样的小人物。大多数(如果不是全部的话)这些框架提供了一种简单快捷的方式来设置开发HTTP服务器进行测试。
我会建议先查找Django的,因为它拥有最全面的教程和指导,让您开始。然后,在Python语言中你更加容易使用,你可以很容易地使用别的东西而不需要手持。
我很乐意使用Flask,但我不知道如何使它工作 - 只需安装它并复制粘贴代码不起作用,因为每当我尝试通过本地主机打开它时,都会收到错误500。 在Flask的网站上描述的内容对我来说并没有什么意义,因为我对服务器不太了解 –
@BarsiktheCat您是否尝试过Flask教程? http://flask.pocoo.org/docs/0.11/tutorial/如果你计划设置一个服务器,你应该花一些时间学习服务器。 –
@IrmendeJong就像我说的 - 在我执行任何这些步骤之前,我需要正确设置服务器,并且我没有找到足够的信息。这不是编码问题,它是设置问题 –
对于你提到的目的,该电流设置,就可以(至少暂时的):
变化httpd.conf中
- 变化否认到授予
<Directory /> AllowOverride none Require all granted </Directory>
- 查找选项+指标+ FollowSynsLinks ........并添加+ ExecCGI到该行。
- 查找AddHandler的CGI脚本的CGI,并添加的.py到它
Options +Indexes +FollowSymLinks +Multiviews +ExecCGI
AddHandler cgi-script .cgi .py
重要的。 Python代码
#!C:\{somepath}\python
第一行你需要找到第一个代码和注释行的正确的道路和酒吧约定(/ \,// ...)。在您的例子是:#!/Python/python
运行该script.py找到它
import sys print(sys.executable)
输出粘贴旁边#!
,你应该能够测试你的test-code.py到您的WWW \文件夹
如果碰巧无法正常工作,请尝试python,python.exe与#!
行旁边的“/”“//”“\”等不同的酒吧惯例的不同组合。
是XAMPP或WAMP,和Python是相同的安装路径下的假设,这我的情况正在此安装方法的效果:
- C:\用户\ myuserwithnospace \ Dropbox的\ wamp64
- C: \用户\ myuserwithnospace \ Dropbox的\ Python3.6
“大部分的信息是过时的或有争议的”
完全同意。我希望这可以工作!
开始=> 开始=>
我建议考虑看看瓶开出(http://flask.pocoo.org/)。当然也有像Django的其它流行的框架等 – Nicarus
考虑WSGI(https://www.fullstackpython.com/wsgi-servers.html) – DyZ
你有什么有一个基本的CGI脚本。使用CGI,您只需“打印”您想要在浏览器中显示的HTML(并明显发送内容类型为“text/html”)。你可以这样使用Python;这是一种编写简单脚本的有效方法。'cgi'模块将帮助您解析发送到脚本的数据。 – kindall