如何在django 0.96 for appengine项目中包含css/javascript
我在appengine项目中使用django 0.96。我想在我的html文件中使用javascript和css,但不幸的是,我无法通过django做到这一点。。。 一个解决方案(我不喜欢)是使我的app.yaml如下:如何在django 0.96 for appengine项目中包含css/javascript,django,google-app-engine,Django,Google App Engine,我在appengine项目中使用django 0.96。我想在我的html文件中使用javascript和css,但不幸的是,我无法通过django做到这一点。。。 一个解决方案(我不喜欢)是使我的app.yaml如下: handlers: - url: /media static_dir: static/media 但是我希望它与django本身有关,所以我避免使用上面的行,因此我正在寻找一种“django”的方法来实现它。 我的项目的目录结构如下(不完全是相关的) 项目 /myapp
handlers:
- url: /media
static_dir: static/media
但是我希望它与django本身有关,所以我避免使用上面的行,因此我正在寻找一种“django”的方法来实现它。
我的项目的目录结构如下(不完全是相关的)
项目
/myapp
/静止的
/媒体
/css
/js
/图像
设置.py
app.yaml
示例模板文件头是:
<link type="text/css" href="/media/css/ui-lightness/jquery-ui-1.7.1.custom.css" rel="Stylesheet" />
<script type="text/javascript" src="/media/js/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="/media/js/jquery-ui-1.7.1.custom.min.js">$('#date').datepicker();</script>
我知道我在标题或设置中犯了错误,因为当我使用绝对url时,如:
那么至少css是有效的。
解决方案是使用app.yaml(如上所述)实现的,但我想从django本身实现。有什么提示吗?
谢谢
我对GAE了解不多,但我确实了解Django,Django的做法是不让Django这么做。您的静态资产应该始终与Django分开提供,否则您会毫无理由地产生大量处理器开销
您使用上面的
处理程序设置它的方式看起来是正确的。在这里查看Google App Engine的文档:
django之外是提供静态文件的最佳方式,GAE会自动处理mime类型。stackoverflow扭曲了我的目录结构。让我再次键入:1.Project i.myapp ii.settings.py iii.app.yaml iv.static*media^css^js我发现这一点……似乎你是对的。谢谢+1.app Engi中的静态处理程序ne也比您在用户代码中实现的任何东西都要快。
MEDIA_ROOT = os.path.join(os.path.dirname(__file__), 'static')
MEDIA_URL ='/media/'
TEMPLATE_DIRS = (
# Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
# Always use forward slashes, even on Windows.
# Don't forget to use absolute paths, not relative paths.
os.path.join(os.path.dirname(__file__), 'myapp/templates'),
os.path.join(os.path.dirname(__file__), 'static'),
)