我进行了很多搜索,但是我的django网站上的静态文件(css,图像等)仍然存在问题。
我在archlinux 64bits上使用带有Apache的mod_wsgi
我已经在http.conf中添加了它:
LoadModule wsgi_module modules/mod_wsgi.so
<VirtualHost *:80>
WSGIDaemonProcess mart.localhost user=mart group=users processes=2 threads=25
WSGIProcessGroup mart.localhost
LogLevel debug
Alias /media /home/mart/programmation/python/django/martfiles/media/
<Directory /home/mart/programmation/python/django/martfiles/>
Order allow,deny
Allow from all
</Directory>
WSGIScriptAlias / /srv/http/wsgi-scripts/django.wsgi
</VirtualHost>
我尝试在主文件夹中使用django.wsgi,但它不起作用(permission denied to access /
)(奇怪的是,如果我使用此处给出的测试脚本,它将起作用)
所有目录和内容(apache文件夹,wsgi-script,martfiles)都775 root:devusers
具有组devusers的权限,包括我的用户,http和root
在我的模板base.html中,我这样称呼CSS:
<html> <head>
<link rel="stylesheet" href="/media/css/style.css" />
和/var/log/http/error.log中的错误
[Sat Jan 16 13:22:21 2010] [error] [client 127.0.0.1] (13)Permission denied: access to /media/css/style.css denied, referer: http://localhost/
[Sat Jan 16 13:22:21 2010] [info] mod_wsgi (pid=14783): Attach interpreter ''
/etc/httpd/conf/http.conf
/srv/http/wsgi-script/django.wsgi
/home/…/martfiles/settings.py
谢谢
编辑
:我精确地说,我的django网站工作正常(除了会话,但我不认为它与之相关),所以我不确定它与django.wsgi文件有关(也许我错了),但是确定的是我应该能够从apache文件夹外部使用django.wsgi
如果我改变行Alias /media /home/mart/programmation/python/django/martfiles/media/
与Alias /media /srv/http/media/
并给出正确的权限,它的工作原理。但我不想(也不应该)将所有媒体放入apache文件夹
仅包含静态文件的目录“ / home / mart / programmation / python / django / martfiles /
media”是可读和可搜索的,这是不够的。以Apache身份运行的用户必须具有对它的所有父目录的读取权限,并且可能具有搜索权限,并备份到根目录。由于许多系统上的主目录均为“
rwx ------”,因此无论Apache配置中的Deny / Allow指令如何,这都将拒绝Apache访问。
建议您将Django项目和静态文件放在家庭帐户之外的某个位置,并根据需要放宽文件系统权限。
问题内容: 是否有任何聪明的解决方案将静态文件存储在Flask的应用程序根目录中。robots.txt和sitemap.xml有望在/中找到,所以我的想法是为它们创建路由: 必须有一些更方便的方法:) 问题答案: 最好的方法是将static_url_path设置为root url
问题内容: 我无法显示我的静态文件。我尝试了各种设置和目录配置等,但是它们只是显示为404。我已经安装了debug_toolbar,所以知道STATIC_URL正在到达我的请求上下文。 显示/ static的目录结构(我还将目录和用户放置在餐应用文件夹中,只是为了尝试一下。 Settings.py(一些重要的设置,尽管我已经尝试了其他各种设置): 在base.html中呈现 问题答案: 这是dja
问题内容: 从主题上类似标题的数量来看,这似乎引起了很多混乱,但是尝试使用django开发服务器尝试在静态文件中可以找到的所有内容,我几乎放弃了希望! 因此,我的静态文件从C:/ Users / Dan / seminarWebsite / static /提供,其中我有用于图像,css等的子文件夹。 设置: 静态文件应用程序也处于活动状态。 网址: 模板: 但是,只有一个断开的链接出现在此地址处
问题内容: 我正在尝试将我一直在工作的Django网站从开发服务器阶段移至真正的托管环境。目前,我只是在我的个人计算机上托管。我已经安装了Apache和mod-wsgi,但是在获取静态文件时遇到了问题。我很确定这与Apache有关。这是我的站点配置文件: 我正在尝试从我使用静态别名的目录中托管文件。当我尝试加载网站时,所有内容都出现了,但是没有CSS。另外,当我访问我的URL www.server
问题内容: 我将移至Django 1.3,发现媒体和静态文件的这种分离有点令人困惑。这是默认的样子: 我应该投入和?这些应该是单独的目录吗?有什么不同? 问题答案: 静态文件用于javascript /图像等,而媒体文件用于用户上传的内容。
问题内容: 我正在使用,我的django应用的结构如下 的是 在我尝试使用它为: 但是它没有加载并给出错误 我跑去收集所有静态文件。 为什么要加载CSS文件?是否缺少任何配置? 请提出建议。 问题答案: 根据文档正确的方式来加载静态文件是 这会工作
问题内容: 我混淆了STATIC_ROOT和STATICFILES_DIRS 实际上,我并不是很了解STATIC_ROOT的实用程序。我认为这是我必须放置公用文件的目录。该目录用于生产,这是collectstatic将放置(收集)静态文件的目录。 STATICFILES_DIRS是我需要的。 由于我处于开发环境中,因此对我来说,解决方案是不使用STATIC_ROOT(或指定其他路径)并在STATI
本文向大家介绍django中静态文件配置static的方法,包括了django中静态文件配置static的方法的使用技巧和注意事项,需要的朋友参考一下 环境 centos7 django 1.11 nginx 白话 我们可以使用Template 设置我们的网页,同时,一个完美的网页需要css,js,image 等静态文件的支持。 django中配置方式貌似有不少总,因为很多相关的博客写的方式并不一