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視圖呈現。