我有一个dispatch.yaml
分割2个服务;控制管理员登录的admin_main.py
和控制用户登陆的main.py
。我的问题是admin_main.py
没有看到我自己引导它的CSS。但是,它与main.py
CSS保持匹配。
我的文件结构为
admin
|assets
|CSS
+styles.min.css
www
|assets
|CSS
+styles.min.css
dispatch.yaml
:
dispatch:
# Default service serves simple hostname request.
- url: "example.net/"
service: default
# Default service serves simple hostname request.
- url: "app-example.appspot.com/"
service: default
# Default service serves simple hostname request.
- url: "admin.example.net/"
service: admin
- url: "admin-dot-app-example.appspot.com/"
service: admin
admin_main.py
:
service: admin
runtime: python27
api_version: 1
threadsafe: yes
handlers:
- url: /assets/css/styles.min.css
static_files: admin/assets/css/styles.min.css
upload: admin/assets/css/styles.min.css
- url: /.*
script: subdomain.app
libraries:
- name: webapp2
version: latest
- name: jinja2
version: latest
main.py
:
service: default
runtime: python27
api_version: 1
threadsafe: yes
default_expiration: "4d 5h"
handlers:
- url: /assets/css
static_dir: www/assets/css
- url: /assets/img
static_dir: www/assets/img
- url: /.*
script: main.app
libraries:
- name: webapp2
version: latest
- name: jinja2
version: latest
在.html
中指向CSS的链接
<link rel="stylesheet" href="assets/css/styles.min.css">
两个着陆点。但是,由于dispatch.yaml
将来电分开,这不应该是一个问题,对吧?
我不确定导致问题的原因。另外,我是yaml的新手,我一直在阅读它的文档。
答案 0 :(得分:0)
一种解决方案是将每个CSS
存储在同一个文件中,并为它们指定不同的名称。然后在app.yaml
部分的handlers
部分添加以下内容:
- url: "/assets/css/(.*\\.(css))$"
static_files: {CSS_DIR_IN_PROJECT}/\1
upload: {CSS_DIR_IN_PROJECT}/.*\.(css)$
application_readable: true
这是我解决问题的唯一方法