2015-02-25 24 views
5

Trang web quản trị Django của tôi (hoàn toàn mặc định, không được tùy chỉnh) không hiển thị CSS dự kiến.Trang web quản trị Django không hiển thị kiểu CSS

Nó trông như thế này:

enter image description here

Và tôi có thể đăng nhập:

enter image description here

Nhưng nó là vụ phải giống như thế này:

enter image description here

Làm thế nào để sửa lỗi này?

thông tin khác có thể giúp:

Tôi đang chạy trên một thể hiện Amazon EC2 trên cổng 80 và kết nối với nó sử dụng một URL thực. Tôi thiết lập nó bằng cách sử dụng hướng dẫn này: http://www.nickpolet.com/blog/deploying-django-on-aws/1/

Sau hướng dẫn đó, tôi đặt mã này vào một tệp có tên /etc/apache2/sites-enabled/mysite.conf. Tôi không hiểu mã này đang làm gì, vì vậy tôi nghĩ nó có thể liên quan đến vấn đề này.

/etc/apache2/sites-enabled/mysite.conf:

WSGIScriptAlias//home/ubuntu/cs462/mysite/mysite/wsgi.py 
WSGIPythonPath /home/ubuntu/cs462/mysite 
<Directory /home/ubuntu/cs462/mysite/mysite> 
    <Files wsgi.py> 
     Order deny,allow 
     Require all granted 
    </Files> 
</Directory> 

Alias /media/ /home/ubuntu/cs462/mysite/media/ 
Alias /static/ /home/ubuntu/cs462/mysite/static/ 

<Directory /home/ubuntu/cs462/mysite/static> 
    Require all granted 
</Directory> 

<Directory /home/ubuntu/cs462/mysite/media> 
    Require all granted 
</Directory> 

Cấu trúc thư mục:

/home/ubuntu/cs462/ 
     mysite/ 
      manage.py 
      db.sqlite3 
      mysite/ 
       __init__.py 
       __init__.pyc 
       settings.py 
       settings.pyc 
       urls.py 
       wsgi.py 
      homepage/ 
       admin.py 
       admin.pyc 
       __init__.py 
       __init__.pyc 
       migrations 
       models.py 
       models.pyc 
       tests.py 
       views.py 

phần cuối của settings.py:

# Static files (CSS, JavaScript, Images) 
# https://docs.djangoproject.com/en/1.7/howto/static-files/ 

STATIC_URL = '/static/' 
+0

thể trùng lặp của [tại sao site admin django của tôi không có phong cách css] (http://stackoverflow.com/questions/4420378/why-my-django-admin-site-does-not-have-the-css kiểu) – allcaps

Trả lời

17

Cấu hình Apache của bạn yêu cầu tất cả nội dung tĩnh (CSS, JS, hình ảnh, vv) phải nằm trong thư mục mysite/static. Bạn nên thu thập nội dung tĩnh của bạn từ các ứng dụng vào mysite/thư mục tĩnh đầu tiên:

cd /home/ubuntu/cs462/mysite 
python manage.py collectstatic 

Cập nhật: Nếu bạn không chỉ định một vị trí cho nội dung tĩnh, bạn nên thêm dòng sau vào settings.py của bạn:

STATIC_URL = '/static/' 
STATIC_ROOT = os.path.join(BASE_DIR, 'static') 
+0

Ý của bạn là gì? Tôi không có bất kỳ nội dung tĩnh nào. Đây chỉ là trang quản trị đi kèm với Django. Tôi chỉ tạo ra một siêu người dùng để đăng nhập vào trang quản trị, và nó có các bảng của tôi từ cơ sở dữ liệu từ tệp models.py của tôi. –

+2

Ứng dụng quản trị Django có cài đặt nội dung tĩnh riêng. Bạn nên sao chép chúng vào thư mục tĩnh của dự án trước tiên. Bạn không nhận ra nó trong khi kiểm tra trang web bằng cách sử dụng máy chủ phát triển tích hợp của Django nhưng đối với sản xuất bạn cần phải chạy collectstatic đầu tiên. – Selcuk

+0

Ok, tôi đã thử lệnh đó. Tôi nhận được lỗi này: 'django.core.exceptions.ImproperlyConfigured: Bạn đang sử dụng ứng dụng tĩnh mà không đặt cài đặt STATIC_ROOT thành đường dẫn hệ thống tệp.' Tôi nên đặt đường dẫn hệ thống tệp nào? Cảm ơn! –

Các vấn đề liên quan