2015-11-03 85 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應用程序,它只是一個空的服務器。