django в движке приложения не отображает шаблоны в подкаталогах - PullRequest
0 голосов
/ 21 сентября 2018

Кто-то пометил это как дубликат - это не дубликат вопроса, с которым они связаны по следующим причинам.Во-первых, я не получаю 404 ошибки за каждый URL.Я получаю некоторые шаблоны, а не другие, я получаю все шаблоны на верхнем уровне папки шаблонов, но не в подкаталогах.Также это дает 500 ошибок, а не 404 ошибки, что является другой категорией ошибок.

Я пытался разместить приложение django (2.1) (python3) на гибком движке приложений Google и столкнулся со следующей проблемой:

Приложение не отображает шаблоны, которыев подкаталогах папки с шаблонами выдает 500 ошибок.Я просматривал хвосты логов через консоль gcloud и в интерфейсе администратора, и не вижу ничего полезного.

Мой app.yaml:

runtime: python
# api_version: 1

env: flex
entrypoint: gunicorn -b :$PORT MyApp.MyApp.wsgi
runtime_config:
    python_version: 3

manual_scaling:
  instances: 1
resources:
  cpu: 1
  memory_gb: 0.5
  disk_size_gb: 10

env_variables:
  SECRET_KEY: 'key-here'
  DEBUG: 'False'
  DB_HOST: '/cloudsql/instance:region:instance'
  DB_PORT: '5432'
  DB_NAME: 'instance'
  DB_USER: 'postgres'
  DB_PASSWORD: 'db-password'
  STATIC_URL: 'https://storage.googleapis.com/bucket-name/static/'

beta_settings:
  cloud_sql_instances: 'instance:region:instance'

Мойнастройки папок шаблонов: BASE_DIR = os.path.dirname (os.path.dirname (os.path.abspath ( file )))

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates'),
                 os.path.join(BASE_DIR, 'templates', 'subdir'),
                 os.path.join(BASE_DIR, 'templates', 'subdir', 'othersubdir'),

и т. д.

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

Ответы [ 2 ]

0 голосов
/ 28 декабря 2018

Может быть, прежде чем начать заново, вы можете увидеть некоторые более конкретные ошибки в журналах Stackdriver, вы можете отфильтровать журналы по ресурсу, используя фильтры, и, возможно, вы сможете увидеть более подробную информацию об ошибках в вашем приложении GAE.

В любом случае ... если вы уже начали все сначала, возможно, вы можете использовать этот пример проекта в качестве справочного материала, чтобы увидеть все необходимые конфигурации и реализацию

0 голосов
/ 22 сентября 2018

Попробуйте что-нибудь более прямое, например:

TEMPLATE_DIRS = (os.path.join(os.path.dirname(__file__), 'templates'),)
TEMPLATE_DIRS += (os.path.join(os.path.dirname(__file__), 'templates/subdir'),)
TEMPLATE_DIRS += (os.path.join(os.path.dirname(__file__), 'templates/subdir/othersubdir'),)

os.path.dirname(__file__) - это местоположение settings.py, поэтому все относительно относительно.

...