我自己也是一名 Python 初学者,所以我也有同样的问题。也许更高级的用户可以填写详细信息。这是我到目前为止所做的:
最简单的入门方法是简单地制作一个可执行的 Python 脚本 (.py) 并将其放入您的 cgi-bin。然后,您可以通过 yourhost.com/cgi-bin/your_script.py 访问它。操作简单,易于用于表单处理等。
有些服务器会要求您重新启动服务器,然后它才能“看到”新的 .py 脚本,这对于快速开发来说可能非常烦人。这也是很多人使用 WSGI 等中间件的原因之一。以下是我修改 Apache 配置以启用 WSGI 的方法:
LoadModule wsgi_module libexec/apache2/mod_wsgi.so
<VirtualHost *:80>
WSGIScriptAlias /myapp /Library/WebServer/wsgi-scripts/views.wsgi
<Directory /Library/WebServer/wsgi-scripts>
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
views.wsgi 只是一个 Python 脚本。现在,如果我转到 localhost/myapp/anything,它将重定向到 views.wsgi。最好不要将此文件放在根目录中,否则将无法引用静态文件。
一个简单的应用程序可能看起来像这样:
def application(environ, start_response):
start_response('200 OK', [('content-type', 'text/html')])
return ['Hello world!']
environ 包含有关用户尝试到达的路径的信息,因此您可以设置一个 URL 列表,并告诉您的程序根据请求的 URL 调用哪个函数。像这样的东西:
path = environ.get('PATH_INFO','')
if path.startswith('/helloworld'):
# call your function that returns HTML code
我还没有过多地处理框架(例如 Django),但我认为其中一个优点是它们可以轻松地使用从脚本传递的任何变量来填写 HTML 模板。Django 的模板引擎允许包含变量以及与 HTML 混合的逻辑(if、for 等)。当函数被调用时,它返回的任何东西都会被发送到客户端。
我对这一切还是很陌生,所以如果这里有任何错误,请纠正我......