python - 为 css 文件设置 django

标签 python css django webfaction

我是 django 的新手,正在尝试创建个人技术博客。我在 webfaction 上托管。我已经使用 this video 设置了博客。但样式表不起作用。我关注了the step-by-step procedure创建 webfaction 提到的静态文件,但 STLyesheet 仍然无法工作。

我创建了一个静态应用程序:staticapp 并使用 /static 将其添加到网站 正如 webfaction 文档中提到的。

settings.py中:

  STATIC_ROOT = 'home/myaccount/webapps/staticapp'
  STATIC_URL = 'http://myblogtest.myaccount.webfactional.com/static'
  STATICFILES_DIRS = ( 'junk','static',)


INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',
     'django.contrib.admin',
     'django.contrib.admindocs',
     'blog',
     )

我从我的 html 页面引用如下:

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

我错过了什么步骤吗?我可以看到很多答案都说在 urls.py 中添加代码片段,但 Webfaction 的文档中没有提及。所以我没有这样做。

我可以看到很多人都面临着同样的问题,但答案对我没有帮助,因为我是新手。请帮我设置这个。 :)

最佳答案

STATIC_ROOT 需要有一个前置斜杠 /,即 /home... 不是 家...

请勿static目录添加到STATICFILES_DIRS。我允许你用最近的钝器打任何建议你这样做的人。 static 目录在开发中不应该存在,而在生产中它只能通过 python manage.pycollectstatic 创建或修改。

一定将静态资源存储在每个应用程序的单独 static 目录或完全不同的元素级目录中,即该目录不应与 MEDIA_ROOTSTATIC_ROOT。然后,将目录添加到STATICFILES_DIRS

在 Django 1.4+ 中,您应该在模板中使用 {% static %} 模板标签:

{% load static from staticfiles %}
<img src="{% static "images/hi.jpg" %}" alt="Hi!" />

这会自动为您附加 URL 的 STATIC_URL 部分,因此您提供的路径参数应该与该部分相关。

在 Django 1.3 中,在确保 'django.core.context_processors.static' 出现在 TEMPLATE_CONTEXT_PROCESSORS 中的某个位置后,您可以使用 {{ STATIC_URL }} 设置。您的 View 还需要利用 RequestContext,这意味着使用基于类的 View 、render 方法,或传递 context_instance=RequestContext(request)render_to_response

如果您希望 Django 在开发中轻松提供静态文件,您可以将以下内容添加到 urls.py 的末尾:

from django.contrib.staticfiles.urls import staticfiles_urlpatterns
urlpatterns += staticfiles_urlpatterns()

无法在生产环境中工作(DEBUG=False)。对于生产环境,您需要运行 python manage.pycollectstatic,然后让您的前端 Web 服务器(nginx、Apache 等)为 STATIC_URL 处的目录提供服务。

关于python - 为 css 文件设置 django,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12712177/

相关文章:

css - 'watching'文件夹时的SASS输出文件名

html - chrome 中的不同文本位置。 IE 和 FF

python - Django 高级过滤器在 django-material admin 主题中不起作用

python - django - 导入错误 : no module named views

python - 问题 azure 测试聊天机器人 "Error while finding module specification for ' aiohttp.web' (ModuleNotFoundError : No module named 'aiohttp' )

python - 如何忽略 pandas assert frame equal 的索引比较

javascript - 同时运行两个独立的 jQuery

python - 使用 form.py 编辑模型

python - 我可以在屏幕上移动pygame游戏窗口吗(pygame)

python - Celery 任务相同的时间表但有偏移