Django,无法加载图像,但已加载 css
Django, not able to load image, but css is loaded
我可以根据 djangoproject 提供的教程加载 css 文件,但无法加载图像。
这是文件结构:
appname/static/混乱/img/burger.jpg
这是我尝试加载图像的 login.html 文件。
`<html>
<head>
<title>Login | Mess @ IIIT Sri City</title>
{% load staticfiles %}
<link rel="stylesheet" type="text/css" href="{% static 'mess/css/style.css' %}">
<link rel="stylesheet" type="text/css" href="{% static 'mess/css/bootstrap.min.css' %}">
</head>
<body>
<div class="container">
<div id="left-content" class="col-lg-6 col-md-6 col-sm-12 col-xs-12">
{% load staticfiles %}
<center><img src="{% static 'mess/img/burger.jpg' %}" alt="Please Login here"></center>
</div>
<div class="col-lg-6 col-md-6 col-sm-12 col-xs-12">
<form action="" method="post">{% csrf_token %}
{{ form}}
<input type="submit" value="Submit" />
</form>
</div>
</div>
</body>
`
如果你能帮我解决这个问题,那将是一个很大的帮助。
PS: 我是 Django 的初学者。
姜戈版本:1.8
如果您需要更多信息,请告诉我。提前致谢。
在url.py中你配置静态文件了吗?
if settings.DEBUG:
urlpatterns += patterns('',
#REMOVE IT in production phase
(r'^media/(?P<path>.*)$', 'django.views.static.serve',
{'document_root': settings.MEDIA_ROOT})
)
urlpatterns += staticfiles_urlpatterns()
此处需要进行一些更改。您可以将以下代码复制并粘贴到您的模板中,并在您的 urls.py:
中进行以下设置
html:
{% load staticfiles %}
<html>
<head>
<title>Login | Mess @ IIIT Sri City</title>
<link rel="stylesheet" type="text/css" href="{% static 'mess/css/style.css' %}">
<link rel="stylesheet" type="text/css" href="{% static 'mess/css/bootstrap.min.css' %}">
</head>
<body>
<div class="container">
<div id="left-content" class="col-lg-6 col-md-6 col-sm-12 col-xs-12">
<center><img src="{% static 'mess/img/burger.jpg' %}" alt="Please Login here" /></center>
</div>
<div class="col-lg-6 col-md-6 col-sm-12 col-xs-12">
<form action="" method="post">{% csrf_token %}
{{ form }}
<input type="submit" value="Submit" />
</form>
</div>
</div>
</body>
</html>
网址:
if settings.DEBUG:
urlpatterns += patterns('',) + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
urlpatterns += patterns('',) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
在 html 中,我在顶部添加了 {% load staticfiles %}
以使您的代码保持干爽(不要重复自己)。我还对您的代码进行了一些语法更改;非常小。在 url 中,当您的设置设置为 DEBUG = True
时,Django 将加载您的静态图像。当您投入生产并且 DEBUG = False
时,Django 不再提供静态文件。这是您的服务器的责任。
希望对您有所帮助。
如果还是不行,你能post你的STATIC_URL
和STATIC_ROOT
吗?
这是因为该文件夹没有必要的权限,Django 无法访问它。
我可以根据 djangoproject 提供的教程加载 css 文件,但无法加载图像。 这是文件结构: appname/static/混乱/img/burger.jpg
这是我尝试加载图像的 login.html 文件。
`<html>
<head>
<title>Login | Mess @ IIIT Sri City</title>
{% load staticfiles %}
<link rel="stylesheet" type="text/css" href="{% static 'mess/css/style.css' %}">
<link rel="stylesheet" type="text/css" href="{% static 'mess/css/bootstrap.min.css' %}">
</head>
<body>
<div class="container">
<div id="left-content" class="col-lg-6 col-md-6 col-sm-12 col-xs-12">
{% load staticfiles %}
<center><img src="{% static 'mess/img/burger.jpg' %}" alt="Please Login here"></center>
</div>
<div class="col-lg-6 col-md-6 col-sm-12 col-xs-12">
<form action="" method="post">{% csrf_token %}
{{ form}}
<input type="submit" value="Submit" />
</form>
</div>
</div>
</body>
`
如果你能帮我解决这个问题,那将是一个很大的帮助。 PS: 我是 Django 的初学者。 姜戈版本:1.8 如果您需要更多信息,请告诉我。提前致谢。
在url.py中你配置静态文件了吗?
if settings.DEBUG:
urlpatterns += patterns('',
#REMOVE IT in production phase
(r'^media/(?P<path>.*)$', 'django.views.static.serve',
{'document_root': settings.MEDIA_ROOT})
)
urlpatterns += staticfiles_urlpatterns()
此处需要进行一些更改。您可以将以下代码复制并粘贴到您的模板中,并在您的 urls.py:
中进行以下设置html:
{% load staticfiles %}
<html>
<head>
<title>Login | Mess @ IIIT Sri City</title>
<link rel="stylesheet" type="text/css" href="{% static 'mess/css/style.css' %}">
<link rel="stylesheet" type="text/css" href="{% static 'mess/css/bootstrap.min.css' %}">
</head>
<body>
<div class="container">
<div id="left-content" class="col-lg-6 col-md-6 col-sm-12 col-xs-12">
<center><img src="{% static 'mess/img/burger.jpg' %}" alt="Please Login here" /></center>
</div>
<div class="col-lg-6 col-md-6 col-sm-12 col-xs-12">
<form action="" method="post">{% csrf_token %}
{{ form }}
<input type="submit" value="Submit" />
</form>
</div>
</div>
</body>
</html>
网址:
if settings.DEBUG:
urlpatterns += patterns('',) + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
urlpatterns += patterns('',) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
在 html 中,我在顶部添加了 {% load staticfiles %}
以使您的代码保持干爽(不要重复自己)。我还对您的代码进行了一些语法更改;非常小。在 url 中,当您的设置设置为 DEBUG = True
时,Django 将加载您的静态图像。当您投入生产并且 DEBUG = False
时,Django 不再提供静态文件。这是您的服务器的责任。
希望对您有所帮助。
如果还是不行,你能post你的STATIC_URL
和STATIC_ROOT
吗?
这是因为该文件夹没有必要的权限,Django 无法访问它。