Python маршрут с именем не работает, но простая маршрутизация работает на сервере, однако на локальном хосте работает нормально - PullRequest
0 голосов
/ 08 апреля 2020

Я просто создаю приложение python, и оно отлично работает на моем локальном хосте, но на сервере он запускает простой маршрут ('/'), но с именем ('/ hello') оно не работает, Мой хостинг является общим сервером с подкладкой Cpanel Ошибка, которую я получил из журналов:

Процесс приложения преждевременно завершен.

Вот мой код

from flask import Flask, render_template, request, jsonify
import bs4 as bs
import os
import requests
import json

from flask_cors import CORS, cross_origin
project_root = os.path.dirname(os.path.realpath('_file_'))
template_path = os.path.join(project_root, 'templates')
static_path = os.path.join(project_root, 'static')

app = Flask(_name_, template_folder=template_path, static_folder=static_path)
app.config['DEBUG'] = True


@app.route("/hello")

def index():
    try:
      return "hello"
    except Exception as e:
            print(str(e))
            return e

if _name_ == "_main_":
   app.run(debug=True, 
         host='0.0.0.0', 
         port=9000, 
         threaded=True)

Ответы [ 2 ]

0 голосов
/ 09 апреля 2020

После редактирования .htaccess и помещения в него этой строки кода

RewriteEngine On 
  RewriteBase /

и все работает!

0 голосов
/ 08 апреля 2020

Было бы полезно увидеть пример кода, который работает с /. Я подозреваю, что проблема не меняется / на /hello, а скорее на что-то другое.

Сообщение об ошибке «Процесс приложения преждевременно завершен». Похоже, в вашем коде есть синтаксическая ошибка. Вместо того, чтобы запускать его через cPanel, вы пытались выполнить его из командной строки?

После установки ваших зависимостей и попытки запустить ваш код, я получаю эту ошибку:

-> % python foo.py         
Traceback (most recent call last):
  File "foo.py", line 12, in <module>
    app = Flask(_name_, template_folder=template_path, static_folder=static_path)
NameError: name '_name_' is not defined

После исправления все экземпляры _name_ до __name__ и _main_ до __main__ вашего кода выполняются, и я могу получить доступ к конечной точке /hello. Подробнее о '__main__' можно прочитать в Python документах: https://docs.python.org/3/library/ main . html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...