当我使用浏览器url(r'^consultar/$', 'rcb.core.views.consultar'),
中的http://localhost:8000/consultar
consultar.html
文件找到jquery-1.11.2.min.js
文件时,会显示以下信息:
Remote Address:127.0.0.1:8000
Request URL:http://localhost:8000/static/js/jquery-1.11.2.min.js
Request Method:GET
Status Code:200 OK
但是当我在浏览器url(r'^proposta/consultar/$', 'rcb.core.views.consultar'),
中使用http://localhost:8000/proposta/consultar/
时,consultar.html
文件找不到jquery-1.11.2.min file.js
。出现以下错误:
Remote Address:127.0.0.1:8000
Request URL:http://localhost:8000/proposta/static/js/jquery-1.11.2.min.js
Request Method:GET
Status Code:404 NOT FOUND
有人可以帮我修复代码以运行网址http://localhost:8000/proposta/consultar/
以下是文件和目录的代码和结构:
consultar.html
{% extends 'base.html' %}
....
base.html文件
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="../static/js/jquery-1.11.2.min.js" type="text/javascript"></script>
</head>
<body>
{% block corpo %}{% endblock %}
</body>
</html>
views.py
def consultar(request):
propostas_salvas=search()
return render_to_response('consultar.html', { 'propostas_salvas' : propostas_salvas}, context_instance=RequestContext(request))
我的文件和目录结构是:
rcb (Project)
core (is the App)
static
js
jquery-1.11.2.min.js
template
base.html
consultar.html
views.py
...
...
...
答案 0 :(得分:3)
您应该使用相对于您的域的javascript路径,而不是记录您的请求,因为对于每个文档,javascript的相对路径会有所不同。所以改变这一行:
<script src="../static/js/jquery-1.11.2.min.js" type="text/javascript"></script>
成:
<script src="/static/js/jquery-1.11.2.min.js" type="text/javascript"></script>
甚至更好,在模板中加载static并使用django中内置的静态文件管理:
<script src="{% static "js/jquery-1.11.2.min.js" %}" type="text/javascript"></script>
这样您可以稍后更改设置中的STATIC_URL
,django将更正静态文件的路径。即使它们位于不同的域(某些CDN或无cookie域仅用于静态文件)。