Я написал приложение Django, которое я пытаюсь настроить на общем веб-хостинге (A2).Он работает, за исключением того, что когда я перехожу к:
http://example.com/terms/
, URL-адрес в строке браузера изменяется на:
http://example.com/home/myusername/myappfolder/myappname/terms/
, показывая полный путь к моему приложению на диске.
Этого не происходит со статическими файлами - например, http://example.com.com/static/image.png
работает нормально.
Приложение работает в виртуальной среде.Я использую Python 3.6.8 и Django 2.1.4.
Я следовал этим инструкциям , чтобы настроить мое приложение, включая настройку этого файла passenger.wsgi, который выглядит следующим образом:
import myapp.wsgi
SCRIPT_NAME = '/home/username/myapp'
class PassengerPathInfoFix(object):
"""
Sets PATH_INFO from REQUEST_URI because Passenger doesn't provide it.
"""
def __init__(self, app):
self.app = app
def __call__(self, environ, start_response):
from urllib.parse import unquote
environ['SCRIPT_NAME'] = SCRIPT_NAME
request_uri = unquote(environ['REQUEST_URI'])
script_name = unquote(environ.get('SCRIPT_NAME', ''))
offset = request_uri.startswith(script_name) and len(environ['SCRIPT_NAME']) or 0
environ['PATH_INFO'] = request_uri[offset:].split('?', 1)[0]
return self.app(environ, start_response)
application = myapp.wsgi.application
application = PassengerPathInfoFix(application)
Я быблагодарен за любые указания относительно того, где искать, чтобы решить это.