关于GAE的Django:无法找到资源

时间:2015-11-03 22:58:44

标签: python django google-app-engine

我有一个Django应用程序,它会渲染一些网页,让人们向我的数据库提交一些信息。项目结构如下:

--wun/
  --manage.py
  --templates/uploader/
     --some_html_files.html
  --static/uploader/
     --css_files.css
  --wun/
    --settings.py
    --urls.py
    --wsgi.py
  --uploader/
    --app_files.py

因此项目名为'wun',我的应用程序名为'uploader'。结构是典型的Django。

在本地Django的开发服务器上运行它没有问题,但是当它部署到GAE时,我在我访问的每个url端点上得到404 Not Found。我在Django设置中打开了DBUG,但没有其他信息。我可以看到在GAE的日志中访问了端点。

我想也许GAE找不到静态文件和模板?我在Django中有以下设置:

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [BASE_DIR,os.path.join(BASE_DIR, 'templates')],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

STATIC_URL = '/static/'

在App Engine上:

handlers:
- url: /static
  static_dir: static
- url: /static/uploader
   static_dir: /static/uploader
- url: .*
  script: wun.wsgi.application

但我不认为前两个网址是在这里使用的,因为我不直接提供网页。所有页面都是由模板中的Django视图呈现的。

1 个答案:

答案 0 :(得分:0)

事实证明,GoogleAppEngineLauncher会在我的项目文件夹下自动创建另一个文件夹,并且它正在使用那里没有任何内容的应用程序设置。因此,当访问服务器时,实际上没有运行Django应用程序,它只是一个空服务器。