【发布时间】:2015-05-21 19:59:23
【问题描述】:
如果已经问过这个问题,我深表歉意,但我已经尝试了一段时间,无法弄清楚为什么在我的 django 应用程序中更改路由时,整个应用程序中使用的所有 css 和 js 文件(如 angular 和 jQuery)都需要是要重新加载。
路径
mysite
settings,py
urls.py
views.py
static
media
static_dirs
static_root
templates
home.html
partials
dealDetals.html
settings.py
TEMPLATE_DIRS = (
os.path.join(BASE_DIR, 'templates'),
#BASE_DIR + "/templates/"
)
STATIC_ROOT = os.path.join(BASE_DIR, 'static', 'static_root')
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static', 'static_dirs'),
)
MEDIA_ROOT = os.path.join(BASE_DIR, 'static', 'media')
MEDIA_URL = "/media/"
STATIC_URL = '/static/'
urls.py
urlpatterns = patterns('',
url(r'^$', 'mySite.views.home', name='home'),
url(r'^dealsDetails/', 'mySite.views.dealsDetails', name='dealsDetails'),
views.py
def home(request):
template = "home.html"
return render(request, template, context)
def dealsDetails(request):
context = {}
template = "partials/dealDetails.html"
return render(request, template, context)
home.html
{% load staticfiles %}
// this loads correctly and can be seen in the network tab in chrome dev tools
<script src="{% static 'js/bootstrap.min.js' %}"></script>
<a href="/dealsDetails">deal details</a>
一旦路由转到http://127.0.0.1:8000/dealsDetails/,所有静态文件都不再加载到 chrome 开发工具的网络选项卡中。
问题是如何在不同的模板之间共享 css 和 js 文件?
我可以在一个模板中加载 js 和 css,但不能超过一个。
我是否也需要将脚本和链接标签添加到 dealDetails.html 中?我希望不会:(
【问题讨论】:
标签: django