Quiero ejecutar un CGI de Python en un entorno de alojamiento compartido. He seguido el ejemplo del frasco y se acercó con una pequeña aplicación de la siguiente manera:Enrutamiento de ruta en el Frasco
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
@app.route("/pi")
def pi():
return "3.1416"
if __name__ == "__main__":
app.run()
Mi .htaccess
contiene:
Options +ExecCGI
AddHandler cgi-script .cgi .py .rb
DirectoryIndex index.cgi index.htm
Y mi index.cgi
es
#!/usr/bin/env python
from wsgiref.handlers import CGIHandler
from firstflask import app
CGIHandler().run(app)
Al trazar con éxito el camino /
a index()
, sin embargo, no asigna la ruta /pi
a pi()
, en lugar de convirtiendo un error 404. Supongo que echo de menos algo obvio. Gracias por la ayuda.
¿Esto es con Apache? Creo que agregar una etiqueta Apache probablemente te dará más respuestas ya que esto parece ser más un problema de configuración del servidor web. – six8
¿Su host solo es compatible con CGI o es compatible con mod_python o mod_wsgi? Esas son opciones mucho mejores. – six8
Cixate, tienes razón, esto es con Apache. Soy nuevo en los frameworks web de python. La configuración de cgi parece más rápida que mod-wsgi para configurar. Es por eso que elijo cgi. Otra cosa, sospeché que puede necesitar url-rewrite. Pero debido a que no vi ninguna url-rewrite mencionada en el documento, entonces asumo que no hay necesidad. Gracias – sdc