2012-09-17 28 views
0

我的靜態文件在開發服務器上很好用,但是當我通過appcfg.py部署我的應用程序時,我的主題不加載。當我嘗試使用以下URL訪問我的.css文件時,GAE返回Error: Not Found爲什麼我的靜態文件與dev_appserver.py一起使用,但不在GAE上?

http://sprucepress.appspot.com/static/default/css/bootstrap-responsive.css 

我已經下載了我的源代碼副本,並驗證了這些文件實際上是在GAE上。我也驗證了一切工作在我的本地dev_appserver.py上。您可以看到current deployed version on GitHub

我的目錄結構...

  • 的app.yaml
  • static.py
  • 主題
    • 默認
      • 管理
        • edit.html
        • 個的index.html
        • published.html
      • 資產
        • CSS
        • ICO
        • IMG
        • JS
      • base.html文件
      • listings.html
      • post.html
    • 簡單
      • 默認
      • 管理
        • edit.html
        • 的index.html
        • published.html
      • 資產
        • CSS
        • ICO
        • IMG
        • JS
      • base.html文件
      • listings.html
      • post.html

我的app.yaml。

application: sprucepress 
version: 1 
runtime: python27 
api_version: 1 
threadsafe: yes 

handlers: 

- url: /admin/.* 
    script: admin.app 
    login: admin 

- url: /static/([^/]+)/(.*) 
    static_files: themes/\1/assets/\2 
    upload: themes/[^/]+/static/.* 

- url: .* 
    script: static.app 

builtins: 
- remote_api: on 

libraries: 
- name: webapp2 
    version: "2.5.1" 

- name: jinja2 
    version: latest 

不工作的HTML的例子..

<link href="/static/default/css/bootstrap.css" rel="stylesheet" /> 

直播網站是在http://sprucepress.appspot.com

更新1 - 我試圖重新部署,但沒有解決問題。

更新2 - 這是我的appcfg.py輸出。

[email protected]:~$ appcfg.py update google_projects/sprucepress 
09:27 AM Host: appengine.google.com 
09:27 AM Application: sprucepress; version: 1 
09:27 AM 
Starting update of app: sprucepress, version: 1 
09:27 AM Getting current resource limits. 
Email: <ny email> 
Password for <ny email>: 
09:27 AM Scanning files on local disk. 
09:27 AM Cloning 117 application files. 
09:27 AM Cloned 100 files. 
09:27 AM Compilation starting. 
09:27 AM Compilation completed. 
09:27 AM Starting deployment. 
09:27 AM Checking if deployment succeeded. 
09:27 AM Will check again in 1 seconds. 
09:27 AM Checking if deployment succeeded. 
09:27 AM Will check again in 2 seconds. 
09:27 AM Checking if deployment succeeded. 
09:27 AM Will check again in 4 seconds. 
09:27 AM Checking if deployment succeeded. 
09:27 AM Will check again in 8 seconds. 
09:27 AM Checking if deployment succeeded. 
09:27 AM Deployment successful. 
09:27 AM Checking if updated app version is serving. 
09:27 AM Will check again in 1 seconds. 
09:27 AM Checking if updated app version is serving. 
09:27 AM Will check again in 2 seconds. 
09:28 AM Checking if updated app version is serving. 
09:28 AM Will check again in 4 seconds. 
09:28 AM Checking if updated app version is serving. 
09:28 AM Will check again in 8 seconds. 
09:28 AM Checking if updated app version is serving. 
09:28 AM Completed update of app: sprucepress, version: 1 
09:28 AM Uploading index definitions. 

更新3 我已經下載了應用驗證文件實際上是在服務器上。似乎所有內容都已正確上傳。

appcfg.py download_app -A sprucepress sp3 
09:37 AM Host: appengine.google.com 
09:37 AM Fetching file list... 
Email: <my email> 
Password for <my email>: 
09:37 AM Fetching files... 
09:37 AM [1/117] themes/default/assets/ico/apple-touch-icon-114-precomposed.png 
09:37 AM [2/117] themes/default/assets/js/bootstrap-carousel.js 
09:37 AM [3/117] themes/default/assets/css/bootstrap.css 
09:37 AM [4/117] lib/wtforms/ext/django/templatetags/wtforms.py 
09:37 AM [5/117] themes/default/assets/img/glyphicons-halflings.png 
09:37 AM [6/117] lib/wtforms/fields/__init__.py 
09:37 AM [7/117] themes/default/assets/img/examples/bootstrap-example-fluid.jpg 
09:37 AM [8/117] themes/default/assets/css/bootstrap-responsive.css 
09:37 AM [9/117] lib/wtforms/ext/i18n/__init__.py 
09:37 AM [10/117] themes/default/assets/js/bootstrap-modal.js 
09:37 AM [11/117] lib/wtforms/compat.py 
09:37 AM [12/117] lib/wtforms/widgets/__init__.py 
09:37 AM [13/117] static.py 
09:37 AM [14/117] themes/default/assets/js/bootstrap-tooltip.js 
09:37 AM [15/117] themes/default/assets/img/grid-baseline-20px.png 
09:37 AM [16/117] themes/default/listing.html 
09:37 AM [17/117] lib/wtforms/fields/simple.py 
09:37 AM [18/117] themes/default/assets/img/bs-docs-masthead-pattern.png 
09:37 AM [19/117] themes/default/assets/js/bootstrap-alert.js 
09:37 AM [20/117] lib/wtforms/ext/i18n/messages/pl/LC_MESSAGES/wtforms.mo 
09:37 AM [21/117] themes/default/assets/img/bs-docs-bootstrap-features.png 
09:37 AM [22/117] themes/default/assets/ico/apple-touch-icon-72-precomposed.png 
09:37 AM [23/117] app.yaml 
09:37 AM [24/117] themes/default/assets/js/jquery.js 
09:37 AM [25/117] lib/wtforms/ext/__init__.py 
09:37 AM [26/117] lib/wtforms/ext/sqlalchemy/__init__.py 
09:37 AM [27/117] lib/wtforms/ext/django/templatetags/__init__.py 
09:37 AM [28/117] themes/default/assets/js/bootstrap.min.js 
09:37 AM [29/117] lib/aetycoon/app.yaml 
09:37 AM [30/117] themes/default/assets/img/examples/bootstrap-example-hero.jpg 
09:37 AM [31/117] themes/default/assets/js/bootstrap-button.js 
09:38 AM [32/117] favicon.ico 
09:38 AM [33/117] lib/wtforms/ext/django/i18n.py 
09:38 AM [34/117] lib/wtforms/ext/i18n/form.py 
09:38 AM [35/117] themes/default/assets/img/example-sites/jshint.png 
09:38 AM [36/117] themes/default/assets/img/responsive-illustrations.png 
09:38 AM [37/117] themes/default/assets/ico/favicon.ico 
09:38 AM [38/117] themes/default/admin/index.html 
09:38 AM [39/117] themes/default/assets/js/google-code-prettify/prettify.js 
09:38 AM [40/117] lib/wtforms/validators.py 
09:38 AM [41/117] themes/default/assets/css/docs.css 
09:38 AM [42/117] themes/default/admin/edit.html 
09:38 AM [43/117] lib/wtforms/ext/csrf/form.py 
09:38 AM [44/117] lib/wtforms/ext/i18n/messages/pl/LC_MESSAGES/wtforms.po 
09:38 AM [45/117] lib/wtforms/ext/django/orm.py 
09:38 AM [46/117] admin.py 
09:38 AM [47/117] themes/default/assets/ico/apple-touch-icon-144-precomposed.png 
09:38 AM [48/117] lib/wtforms/ext/i18n/messages/en/LC_MESSAGES/wtforms.po 
09:38 AM [49/117] themes/default/assets/img/examples/bootstrap-example-starter.jpg 
09:38 AM [50/117] handlers.py 
09:38 AM [51/117] lib/wtforms/ext/i18n/messages/es/LC_MESSAGES/wtforms.po 
09:38 AM [52/117] themes/default/assets/js/bootstrap-scrollspy.js 
09:38 AM [53/117] themes/default/assets/js/bootstrap-tab.js 
09:38 AM [54/117] lib/aetycoon/README 
09:38 AM [55/117] lib/wtforms/ext/i18n/messages/fa/LC_MESSAGES/wtforms.mo 
09:38 AM [56/117] lib/wtforms/ext/i18n/messages/fa/LC_MESSAGES/wtforms.po 
09:38 AM [57/117] themes/default/assets/test.jpg 
09:38 AM [58/117] themes/default/assets/js/README.md 
09:38 AM [59/117] lib/wtforms/ext/i18n/messages/wtforms.pot 
09:38 AM [60/117] lib/wtforms/ext/sqlalchemy/fields.py 
09:38 AM [61/117] themes/default/assets/js/google-code-prettify/prettify.css 
09:38 AM [62/117] themes/default/admin/published.html 
09:38 AM [63/117] lib/wtforms/ext/csrf/fields.py 
09:38 AM [64/117] models.py 
09:38 AM [65/117] lib/wtforms/ext/i18n/messages/en/LC_MESSAGES/wtforms.mo 
09:38 AM [66/117] lib/wtforms/ext/i18n/messages/es/LC_MESSAGES/wtforms.mo 
09:38 AM [67/117] themes/default/assets/img/bootstrap-mdo-sfmoma-03.jpg 
09:38 AM [68/117] themes/default/assets/ico/apple-touch-icon-57-precomposed.png 
09:38 AM [69/117] themes/default/assets/js/bootstrap-popover.js 
09:38 AM [70/117] lib/wtforms/ext/dateutil/fields.py 
09:38 AM [71/117] lib/wtforms/fields/core.py 
09:38 AM [72/117] config.py 
09:38 AM [73/117] lib/wtforms/ext/appengine/fields.py 
09:38 AM [74/117] themes/default/assets/img/bs-docs-twitter-github.png 
09:38 AM [75/117] themes/default/assets/js/bootstrap.js 
09:38 AM [76/117] lib/wtforms/ext/i18n/messages/README.txt 
09:38 AM [77/117] lib/wtforms/ext/i18n/messages/zh/LC_MESSAGES/wtforms.po 
09:38 AM [78/117] themes/default/assets/img/less-logo-large.png 
09:38 AM [79/117] themes/default/assets/img/example-sites/soundready.png 
09:39 AM [80/117] themes/default/assets/img/example-sites/kippt.png 
09:39 AM [81/117] lib/wtforms/widgets/core.py 
09:39 AM [82/117] themes/default/base.html 
09:39 AM [83/117] lib/wtforms/ext/i18n/messages/it/LC_MESSAGES/wtforms.mo 
09:39 AM [84/117] utils.py 
09:39 AM [85/117] themes/default/assets/js/bootstrap-affix.js 
09:39 AM [86/117] lib/wtforms/ext/csrf/__init__.py 
09:39 AM [87/117] index.yaml 
09:39 AM [88/117] lib/wtforms/ext/django/fields.py 
09:39 AM [89/117] themes/default/assets/js/bootstrap-typeahead.js 
09:39 AM [90/117] lib/wtforms/ext/csrf/session.py 
09:39 AM [91/117] generators.py 
09:39 AM [92/117] lib/wtforms/ext/sqlalchemy/validators.py 
09:39 AM [93/117] README.md 
09:39 AM [94/117] lib/wtforms/ext/i18n/messages/zh/LC_MESSAGES/wtforms.mo 
09:39 AM [95/117] themes/default/assets/js/bootstrap-transition.js 
09:39 AM [96/117] themes/default/assets/img/bootstrap-mdo-sfmoma-02.jpg 
09:39 AM [97/117] listing.html 
09:39 AM [98/117] lib/wtforms/ext/i18n/utils.py 
09:39 AM [99/117] themes/default/assets/js/bootstrap-dropdown.js 
09:39 AM [100/117] themes/default/assets/js/bootstrap-collapse.js 
09:39 AM [101/117] themes/default/assets/js/application.js 
09:39 AM [102/117] lib/wtforms/ext/appengine/db.py 
09:39 AM [103/117] lib/wtforms/ext/i18n/messages/it/LC_MESSAGES/wtforms.po 
09:39 AM [104/117] themes/default/assets/img/example-sites/fleetio.png 
09:39 AM [105/117] lib/wtforms/ext/sqlalchemy/orm.py 
09:39 AM [106/117] fix_path.py 
09:39 AM [107/117] lib/wtforms/form.py 
09:39 AM [108/117] themes/default/post.html 
09:39 AM [109/117] lib/wtforms/ext/appengine/__init__.py 
09:39 AM [110/117] lib/wtforms/__init__.py 
09:39 AM [111/117] themes/default/assets/img/bs-docs-responsive-illustrations.png 
09:39 AM [112/117] lib/wtforms/ext/django/__init__.py 
09:39 AM [113/117] lib/wtforms/ext/dateutil/__init__.py 
09:39 AM [114/117] themes/default/assets/img/bootstrap-mdo-sfmoma-01.jpg 
09:39 AM [115/117] themes/default/assets/img/glyphicons-halflings-white.png 
09:39 AM [116/117] main.py 
09:39 AM [117/117] lib/aetycoon/__init__.py 

回答

4

upload值應閱讀themes/[^/]+/assets/.*。你不'擁有主題內的靜態文件夾。

+0

是的,你是對的,但這並沒有解決問題。 – jwogrady

+0

你可以發佈appcfg.py的輸出,它通常會告訴你有多少靜態文件要上傳。 –

+0

感謝您的幫助。我已將appcfg輸出添加到原始帖子。 – jwogrady

相關問題