2015-11-03 54 views
1

我有一个Django应用程序呈现一些网页,让人们提交一些信息到我的数据库。项目结构是这样的:GAE上的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视图呈现。

回答

0

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