2011-05-12 2 views
1

아파치 + mod_wsgi + django를 사용하고 있습니다. 나는이 상황에 처한다. 웹 페이지가 브라우저에 표시되어 있지만 CSS 스타일이 없어야합니다. 여기에 내 설정은 setting.py와 apache_django_wsgi.conf에있다.django 정적 파일 관리 문제가 발생했습니다.

설정 평 :

import os.path 
import posixpath 

PROJECT_ROOT = os.path.abspath(os.path.dirname(__file__)) 
STATIC_ROOT = '' 
STATIC_URL = '/static/' 

STATICFILES_DIRS = (
# Put strings here, like "/home/html/static" or "C:/www/django/static". 
# Always use forward slashes, even on Windows. 
# Don't forget to use absolute paths, not relative paths. 
'/Users/.../static', 
'/Users/.../static', 
'/Users/.../static', 
'/var/Project/static', 
) 

STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder', 
'django.contrib.staticfiles.finders.AppDirectoriesFinder', 
# 'django.contrib.staticfiles.finders.DefaultStorageFinder', 
) 

apache_django_wsgi :

Alias /static/ /var/Project/static/ 
<Directory /var/Project/static> 
Order allow,deny 
Options Indexes 
Allow from all 
IndexOptions FancyIndexing 
</Directory> 

그래서 내가 잘못합니까?

내가 "파이썬 manage.py findstatic CSS/main.css가"를 할 때 그것은 나에게이 같은 오류 메시지가 반환

Traceback (most recent call last): 
File "manage.py", line 35, in <module> 
execute_manager(settings) 
File "/usr/local/lib64/python2.6/site-packages/django/core/management/__init__.py", line 438, in execute_manager 
utility.execute() 
File "/usr/local/lib64/python2.6/site-packages/django/core/management/__init__.py", line 379, in execute 
self.fetch_command(subcommand).run_from_argv(self.argv) 
File "/usr/local/lib64/python2.6/site-packages/django/core/management/base.py", line 191, in run_from_argv 
self.execute(*args, **options.__dict__) 
File "/usr/local/lib64/python2.6/site-packages/django/core/management/base.py", line 219, in execute 
self.validate() 
File "/usr/local/lib64/python2.6/site-packages/django/core/management/base.py", line 249, in validate 
num_errors = get_validation_errors(s, app) 
File "/usr/local/lib64/python2.6/site-packages/django/core/management/validation.py", line 103, in get_validation_errors 
connection.validation.validate_field(e, opts, f) 
File "/usr/local/lib64/python2.6/site-packages/django/db/backends/mysql/validation.py", line 14, in validate_field 
db_version = self.connection.get_server_version() 
File "/usr/local/lib64/python2.6/site-packages/django/db/backends/mysql/base.py", line 338, in get_server_version 
self.cursor() 
File "/usr/local/lib64/python2.6/site-packages/django/db/backends/__init__.py", line 250, in cursor 
cursor = self.make_debug_cursor(self._cursor()) 
File "/usr/local/lib64/python2.6/site-packages/django/db/backends/mysql/base.py", line 322, in _cursor 
self.connection = Database.connect(**kwargs) 
File "/usr/lib64/python2.6/site-packages/MySQLdb/__init__.py", line 71, in Connect 
return Connection(*args, **kwargs) 
File "/usr/lib64/python2.6/site-packages/MySQLdb/connections.py", line 170, in __init__ 
super(Connection, self).__init__(*args, **kwargs2) 
_mysql_exceptions.OperationalError: (2002, "Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)") 

업데이트 : 음 .. 경로를 잘 때 때문에 생각을 나는 error_log를 확인하고, 서버가 CSS/js를 찾을 수 있음을 발견했다. 내 접근을 막을 뿐이야. 메시지는 다음과 같습니다 :

client denied by server configuration: /var/Project/static/js/jquery.min.js, referer: http://<server> 

그럼 누구나 내가 고칠 수있는 방법을 가르쳐 줄 수 있습니까? 그것은 SQL 서버와 관련이 있습니까?

+0

mysql 연결이 잘못 구성되었습니다. 먼저 mysql 연결을 테스트하십시오. –

+0

그건 아파치 설정이 될 수 없어요. 그렇지 않으면 정말로 당신이 그것을 채웠습니다. 종료에 해당하는 여는 곳은 어디입니까? 올바른 구성을 포함시키고 비트를 편집하지 마십시오. –

답변

0

귀하의 추적은 정적 파일과 관련이 없습니다. 환경에 맞게 DATABASE_* 또는 DATABASES 설정을 확인하십시오. mysql 데몬이 실행 중인지 확인하십시오 (우분투에서는 ps aux | grep mysql). 이 트레이스 백이 끝나면 python manage.py collectstatic을 실행하면 모든 정적 파일을 Apache가 제공 할 수있는 한 위치로 복사합니다.

+0

전 정적 파일을 수집했습니다. 그리고 모든 CSS/js 파일은 /var/.../static 아래에 있습니다. – Newbie

관련 문제