python - django 应用程序媒体文件夹中的 css 文件出现 404 错误

标签 python css django http-status-code-404

在我的 django 应用程序中,我已经设置了这些设置

settings.py
------------
MEDIA_ROOT = '/home/me/dev/python/django/myproject/myapp/media/'
MEDIA_URL = '/site_media/'

urls.py
--------
...
url(r'^myapp/', include('myapp.urls')),
url(r'^site_media/(?P<path>.*)$','django.views.static.serve',{'document_root':settings.MEDIA_ROOT}),

我在 '/home/me/dev/python/django/myproject/myapp/media/css' 中创建了一个 css 文件文件夹并将其包含在模板中,如下所示

base.html
--------
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>my app</title>
<LINK REL=StyleSheet HREF="{{MEDIA_URL}}css/myappstyle.css" TYPE="text/css" MEDIA="screen, print"/>

home.html
---------
{% extends "mywebapp/base.html" %}>
{% block title %}{{block.super}}| Home {% endblock %}

{% block content %}
   {{block.super}}
   hi
{% endblock %}

然后我创建了一个 View 如下

def custom_render(request,context,template):
    req_context=RequestContext(request,context)
    return render_to_response(template,req_context)

def home(request,template_name,page_title):
    print 'home'
    return render_to_response(template_name,{'me':'myname'})

并设置它的url conf

myapp.urls
--------

urlpatterns=patterns('',
  url(r'^$','myapp.views.home',
      {
         'template_name':'mywebapp/home.html',
         'page_title':'Home'
       },
      name='home'),

当我给出 url 时

http://127.0.0.1:8000/myapp/

网页已呈现,但 css 未呈现。控制台输出显示 404 错误

[14/Sep/2012 10:02:50] "GET /myapp/ HTTP/1.1" 200 547
[14/Sep/2012 10:02:50] "GET /myapp/css/myappstyle.css HTTP/1.1" 404 2514

但是,当我给出 url 时,

http://127.0.0.1:8000/site_media/css/myappstyle.css

我可以毫无问题地查看 css 文件的内容。

为什么会这样?有人可以帮我解决这个问题吗?

最佳答案

在为 home View 呈现响应时,您需要使用 RequestContext()(就像您为 custom_render View 所做的那样)。

否则 {{MEDIA_URL}} 将为空,这将导致 404 错误。

关于python - django 应用程序媒体文件夹中的 css 文件出现 404 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12418349/

相关文章:

html - 选择列表的 CSS 样式输入 [类型 ="??"]

python - 在简单的电子商务数据库中创建一个 OrderItem 或将一个 LineItem 链接到一个订单?

python - 删除前编辑记录。 Django 删除 View

python - 自定义 Pyramid _formalchemy 形式

html - 如果在 JSFiddle 中显示,IE9 显示相同代码的不同结果

python - 在 Python GUI 中使用 basemap 作为图形

html - 在 Chrome 上打开 Devtools 使整个页面旅行

django - 如何在 Django 中以编程方式创建组

python - Pandas DataFrames 充当另一个 DataFrame 的事件 View

Python和矩阵,移动列&行