2016-12-03 39 views
2

我想使用Python而不是PHP(只用于教育目的)。我在XAMPP上测试了我的网页,并且我已经将python和cgi添加到了配置中。 我设法让一个非常基本的网页与此代码我如何使用Python作为服务器端语言?

#!/Python/python 

print("Content-Type: text/plain;charset=utf-8") 
print() 

print("Hello World!") 

虽然,这是它。我无法找到关于如何使用Python 3+为网页提供服务的任何信息。大部分信息已过时或存在争议。是否有关于如何将Python用作服务器端语言的最新指南?

+1

我建议考虑看看瓶开出(http://flask.pocoo.org/)。当然也有像Django的其它流行的框架等 – Nicarus

+1

考虑WSGI(https://www.fullstackpython.com/wsgi-servers.html) – DyZ

+2

你有什么有一个基本的CGI脚本。使用CGI,您只需“打印”您想要在浏览器中显示的HTML(并明显发送内容类型为“text/html”)。你可以这样使用Python;这是一种编写简单脚本的有效方法。'cgi'模块将帮助您解析发送到脚本的数据。 – kindall

回答

0

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

+2

Flask不是一个Web服务器。一个Web服务器就像Nginx或Apache一样。 – Nicarus

+0

Apache可能需要完整的生产服务,但有许多小型服务器足够用于开发目的。 Python自带的'wsgi'模块是一个开始。我会检查其他人的“烧瓶”文档。 – hpaulj

+0

那么,这就是问题所在 - 我无法让示例代码工作。它似乎是完全不同于PHP的方式它的书面和你设置本地服务器的方式 –

2

Nicarus说的是一个有效的sugestion但我还推荐一些其他的东西。首先,对于你的开发环境,你不需要使用xampp或者wamp或者其他的东西,python有它自己的HTTP服务器,尽管不是最简单的东西,我将在下面解释的库和框架使用它。

所以,大多数的Python Web开发人员不使用原始的Python使用Python作为他们的编程语言中的网页。大多数开发人员使用某种框架或库。这些框架的范围从像Django这样相当沉重和自以为是的人,到像Flask这样的小人物。大多数(如果不是全部的话)这些框架提供了一种简单快捷的方式来设置开发HTTP服务器进行测试。

我会建议先查找Django的,因为它拥有最全面的教程和指导,让您开始。然后,在Python语言中你更加容易使用,你可以很容易地使用别的东西而不需要手持。

With django you can start here

+0

我很乐意使用Flask,但我不知道如何使它工作 - 只需安装它并复制粘贴代码不起作用,因为每当我尝试通过本地主机打开它时,都会收到错误500。 在Flask的网站上描述的内容对我来说并没有什么意义,因为我对服务器不太了解 –

+0

@BarsiktheCat您是否尝试过Flask教程? http://flask.pocoo.org/docs/0.11/tutorial/如果你计划设置一个服务器,你应该花一些时间学习服务器。 –

+0

@IrmendeJong就像我说的 - 在我执行任何这些步骤之前,我需要正确设置服务器,并且我没有找到足够的信息。这不是编码问题,它是设置问题 –

0

对于你提到的目的,该电流设置,就可以(至少暂时的):

变化httpd.conf中

  1. 变化否认授予

<Directory /> AllowOverride none Require all granted </Directory>

  • 查找选项+指标+ FollowSynsLinks ........并添加+ ExecCGI到该行。
  • Options +Indexes +FollowSymLinks +Multiviews +ExecCGI

  • 查找AddHandler的CGI脚本的CGI,并添加的.py到它
  • 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

    “大部分的信息是过时的或有争议的”

    完全同意。我希望这可以工作!

    相关问题