我有一个Bluehost帐户,我可以在其中运行Python脚本作为CGI.我想这是最简单的CGI,因为要运行我必须在以下内容中定义.htaccess:
Options +ExecCGI
AddType text/html py
AddHandler cgi-script .py
Run Code Online (Sandbox Code Playgroud)
现在,每当我使用Python查找Web编程时,我都会听到很多关于WSGI以及大多数框架如何使用它的信息.但我只是不明白它是如何组合在一起的,特别是当我的Web服务器被给出时(Apache在主机的机器上运行)而不是我真正可以玩的东西(定义.htaccess命令除外).
WSGI,CGI和框架是如何连接起来的?如果我想在我的基本CGI配置上运行Web框架(比如web.py或CherryPy),我需要知道,安装和执行什么操作?如何安装WSGI支持?
每当我读WSGI或CGI时,我都会感到畏缩.我之前尝试过阅读,但没有真正陷入困境.
用简单的英语真的是什么?
它只是将请求传递给终端并重定向输出吗?
我正在使用Flask构建一个应用程序,但我不太了解WSGI,它是HTTP基础,Werkzeug.当我开始使用gunicorn和4个工作进程为Flask应用程序提供服务时,这是否意味着我可以处理4个并发请求?
我的意思是并发请求,而不是每秒或其他任何请求.
谢谢!
我只是想知道不同CGI的差异和优势是什么.哪一个最适合python脚本,以及如何告诉脚本使用什么?
这似乎很容易
From
To
Subject
Run Code Online (Sandbox Code Playgroud)
等等
import email
b = email.message_from_string(a)
bbb = b['from']
ccc = b['to']
Run Code Online (Sandbox Code Playgroud)
假设这"a"是原始电子邮件字符串,看起来像这样.
a = """From root@a1.local.tld Thu Jul 25 19:28:59 2013
Received: from a1.local.tld (localhost [127.0.0.1])
by a1.local.tld (8.14.4/8.14.4) with ESMTP id r6Q2SxeQ003866
for <ooo@a1.local.tld>; Thu, 25 Jul 2013 19:28:59 -0700
Received: (from root@localhost)
by a1.local.tld (8.14.4/8.14.4/Submit) id r6Q2Sxbh003865;
Thu, 25 Jul 2013 19:28:59 -0700
From: root@a1.local.tld
Subject: oooooooooooooooo
To: ooo@a1.local.tld
Cc:
X-Originating-IP: 192.168.15.127
X-Mailer: Webmin 1.420
Message-Id: <1374805739.3861@a1>
Date: Thu, 25 Jul …Run Code Online (Sandbox Code Playgroud) 我无法让wsgi为我的项目'mofin'导入我的设置文件.
apache错误日志中的错误列表如下所示
mod_wsgi (pid=4001): Exception occurred within WSGI script '/var/www/wsgi-scripts/django.wsgi'.
Traceback (most recent call last):
File "/usr/lib/python2.5/site-packages/django/core/handlers/wsgi.py", line 228, in __call__
self.load_middleware()
File "/usr/lib/python2.5/site-packages/django/core/handlers/base.py", line 31, in load_middleware
for middleware_path in settings.MIDDLEWARE_CLASSES:
File "/usr/lib/python2.5/site-packages/django/conf/__init__.py", line 28, in __getattr__
self._import_settings()
File "/usr/lib/python2.5/site-packages/django/conf/__init__.py", line 59, in _import_settings
self._target = Settings(settings_module)
File "/usr/lib/python2.5/site-packages/django/conf/__init__.py", line 94, in __init__
raise ImportError, "Could not import settings '%s' (Is it on sys.path? Does it have syntax errors?): %s" % (self.SETTINGS_MODULE, e)
ImportError: Could not import settings 'mofin.settings' …Run Code Online (Sandbox Code Playgroud) 当我尝试访问管理页面时,它给出了以下错误:
System check identified no issues (0 silenced).
June 21, 2016 - 15:26:14
Django version 1.9.7, using settings 'librato_chart_sender_web.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
Internal Server Error: /admin/
Traceback (most recent call last):
File "/Library/Python/2.7/site-packages/django/core/handlers/base.py", line 149, in get_response
response = self.process_exception_by_middleware(e, request)
File "/Library/Python/2.7/site-packages/django/core/handlers/base.py", line 147, in get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/Library/Python/2.7/site-packages/django/contrib/admin/sites.py", line 265, in wrapper
return self.admin_view(view, cacheable)(*args, **kwargs)
File "/Library/Python/2.7/site-packages/django/utils/decorators.py", line 149, in _wrapped_view
response = view_func(request, *args, **kwargs) …Run Code Online (Sandbox Code Playgroud)