将flask应用程序部署到cpanel,路由不正确,到处都是500个错误



我在youtube上学习了如何创建Flask网站的教程,它在我的本地机器上运行得很好。

我在cPanel中创建了一个子域,并使用"设置Python应用程序"向导创建了该应用程序,它成功了。所以我把我制作的Flask应用程序上传到服务器上,并安装了所有的要求。去了网站,这就是我得到的:网站

显示主页(它不应该是,它应该引导您进入登录页面(,并且它似乎与导航栏重叠。导航栏中的所有链接都返回500错误,cPanel上的错误报告中没有日志。

我已经试着让它工作了三天了——我无法让它工作。

文件树:文件树

网站文件夹保存所有文件和模板

run.py:

from Website import create_app
app = create_app()
if __name__ == '__main__':
app.run()

passenger_wsgi.py:

import imp
import os
import sys

sys.path.insert(0, os.path.dirname(__file__))
wsgi = imp.load_source('wsgi', 'run.py')
application = wsgi.app

网站init.py:

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_bcrypt import Bcrypt
from flask_login import LoginManager
from flask_mail import Mail
from Website.config import Config

db = SQLAlchemy()
bcrypt = Bcrypt()
login_manager = LoginManager()
login_manager.login_view = 'users.login'
login_manager.login_message_category = 'info'
mail = Mail()


def create_app(config_class=Config):
app = Flask(__name__)
app.config.from_object(Config)
db.init_app(app)
bcrypt.init_app(app)
login_manager.init_app(app)
mail.init_app(app)
from Website.users.routes import users
from Website.posts.routes import posts
from Website.main.routes import main
from Website.errors.handlers import errors
from Website.booking.routes import booking
app.register_blueprint(users)
app.register_blueprint(posts)
app.register_blueprint(main)
app.register_blueprint(errors)
app.register_blueprint(booking)
return app

有人能帮我弄清楚我做错了什么吗?

问题似乎是URL_for((命令路由链接

回答我自己的问题。

问题是使用url_forr((命令将页面一起路由。不确定问题出在哪里,但它看起来不对劲。我通过访问.htaccess文件并添加来修复它

RewriteEngine On 
RewriteRule ^http://%{HTTP_HOST}%{REQUEST_URI} [END,NE]

没有超过500个错误,它可以找到css文件。

  1. 显示主页(不应该显示,它应该引导您进入登录页面(<

可能是因为您需要将登录装饰器添加到主页url的路由中。也可能是因为你已经登录(你登录是为了将文件上传到你的cpanel/hosting服务器,但还没有注销;你应该尝试在不同的浏览器或同一浏览器中的私人窗口中打开你的应用程序(

  1. 它似乎与导航栏重叠<

这通常是由于path问题,即您的应用程序没有看到静态文件(任何样式表、图像等(的正确路径。要确认,请将完整的url复制到样式表中,并尝试在新的浏览器选项卡中打开它

最新更新