gpt4 book ai didi

html - 如何摆脱 URL 中的 "%20"代码 (django)

转载 作者:搜寻专家 更新时间:2023-10-31 22:33:39 24 4
gpt4 key购买 nike

我正在使用 django 1.3 并进行一些模板继承。离开主页后,我的 /static/ 设置路径似乎有问题。问题是,当我加载继承自 base.html 的 home.html 时,CSS 和图像链接工作正常。但是一旦我转到一个额外的 URL(在本例中为 vehicle.html),css 和图像就会丢失并出现以下错误:

控制台错误

"GET /static/%20/static/images/logo_2.jpg HTTP/1.1" 404 1771
"GET /static/%20/static/css/default.css HTTP/1.1" 404 1765

查看页面源代码

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

似乎有空间从某处出现。此外,从 vehilce.html 文件中,页面源显示它向 url 加上空格添加了额外的 /static/ 。我哪里会出错?请参阅下面的我的文档:

settings.py

STATIC_ROOT = 'D:/dev/workspace/vehicle_request/vehicle_request/mvmanager/static/'
STATIC_URL = '/static/'

urls.py

urlpatterns = patterns('',
url(r'^$', home_page),
(r'^admin/', include(admin.site.urls)),
(r'^media/(?P<path>.*)$', 'django.views.static.serve',{'document_root': settings.MEDIA_ROOT}), #Not in use in my code yet
(r'^static/(?P<path>.*)$', 'django.views.static.serve',{'document_root': settings.STATIC_ROOT}),
(r'^vehicle/', vehicle),
(r'^driver/', driver),

base.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en">
<head>
<link rel="stylesheet" type="text/css" href="{{STATIC_URL}}/static/css/default.css">
<title>{% block title %}{% endblock %}</title>
</head>
<body>
<header>
<a href="http://localhost:8000" title="Home Page">
<img alt="logo2:" src="{{ STATIC_URL }}/static/images/logo_2.jpg"
style="float:left; margin:5px" height="100"; border=none"></a><br><br>
<h1>Vehicle Request System <span class="version">(Version 0.1 beta)</span></h1>
</header>
<hr style="clear: left">
<hr>
</body>
</html>

vehicle.html

{% extends "base.html" %}
{% block title %}Vehicle Registration{% endblock %}
{% block content %}
<html>
<head></head>
<body></body>
</html>
{% endblock %}

谢谢。

编辑

1. 我更改了 href="{{STATIC_URL}}/static/css/default.css"> 中的 stati > 读取 static,因为它在我的代码中就是这样。我一定是在发帖时不小心退格了。然而,继续前进,

2. 当我将 {{STATIC_url}}/Static 更改为 {{STATIC_URL}}/Static 时,即。我删除了这两个词之间的空格 - 正如下面 @sarnold 所建议的那样 - home.html 像往常一样工作但是 vehicle.html 仍然没有加载 css 和图像并在控制台中喷出以下错误:

File "c:\Python27\lib\site-packages\django\core\files\storage.py", line 234, in path
raise SuspiciousOperation("Attempted access to '%s' denied." % name)
SuspiciousOperation: Attempted access to '\static\images\logo_2.jpg' denied.
[10/Feb/2012 06:11:55] "GET /static//static/images/logo_2.jpg HTTP/1.1" 500 1731

File "c:\Python27\lib\site-packages\django\core\files\storage.py", line 234, in path
raise SuspiciousOperation("Attempted access to '%s' denied." % name)
SuspiciousOperation: Attempted access to '\static\css\default.css' denied.
[10/Feb/2012 06:23:29] "GET /static//static/images/logo_2.jpg HTTP/1.1" 500 1731

3. 当我结合@sarnold 和@cptphil 的建议时,vehicle.html 完美地加载了 css 和图像。 home.html 然而失败了。请参阅下面对 base.html 的更改:

base.html(编辑成这样)

<link rel="stylesheet" type="text/css" href="{{STATIC_URL}}css/default.css">
<img alt="logo2:" src="{{STATIC_URL}}images/logo_2.jpg"

home.html 现在不工作了! (查看页面源)

<link rel="stylesheet" type="text/css" href="css/default.css">
<img alt="logo2:" src="images/logo_2.jpg"

vehicle.html 现在可用(查看页面源代码)

<link rel="stylesheet" type="text/css" href="/static/css/default.css">
<img alt="logo2:" src="/static/images/logo_2.jpg"

这就是 home.html 原始形式的样子

{% extends "base.html" %}
{% block title %}GEL: Vehicle Request System{% endblock %}
{% block content %}
{% endblock %}

最佳答案

我相信模板引擎正在执行您要求它执行的操作。

href="{{STATIC_URL}} /stati/css/default.css"

正确翻译成

/static/ /stati/css/default.css

尝试

href="{{STATIC_URL}}css/default.css"

在 base.html 中,如果你想要的是

/static/css/default.css

无法解释为什么 home.html 会正常工作。

关于html - 如何摆脱 URL 中的 "%20"代码 (django),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9221515/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com