0

我发现了一些关于我的问题的问题,您的解决方案对我没有帮助,所以我开始了一个新问题。基本上这就是我看到管理页面的方式 没有css/没有js/没有图片

阿帕奇的配置:

<VirtualHost *.*.*.*:80>
    ServerName ********.org
    ServerAdmin ****@******.org

    WSGIScriptAlias / /var/www/webproxy/webproxy/wsgi.py

    DocumentRoot /var/www/cgi-bin/
    ScriptAlias /cgi-bin/ /var/www/cgi-bin/

    ErrorLog /var/www/webproxy/apache/error.log

LogLevel warn

CustomLog /var/www/webproxy/apache/access.log combined

Alias /media/ "/var/www/webproxy/media/"

<Directory "/var/www/webproxy/media/">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order deny,allow
    Allow from all
</Directory>

<Directory "/var/www/webproxy/static/">
    Order deny,allow
    Allow from all
</Directory>

这就是我在 urls.py 中的内容:

from django.conf.urls.defaults import *
from django.contrib import admin
admin.autodiscover()

from core import urls as core_urls

from settings import MEDIA_ROOT, WEBPROXY_MEDIA_ROOT

urlpatterns = patterns('',
    (r'^admin/', include(admin.site.urls)),
    (r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': MEDIA_ROOT}),
    (r'^ui/(?P<path>.*)$', 'django.views.static.serve', {'document_root': WEBPROXY_MEDIA_ROOT}),
)

设置.py:

MEDIA_ROOT = '/var/www/webproxy/media/'
STATIC_ROOT = '/var/www/webproxy/static/'
WEBPROXY_MEDIA_ROOT = '/var/www/webproxy/static/media/'

我不确定这里有什么问题。任何帮助将非常感激。

4

1 回答 1

2

首先,您不应该django.views.static.serve在生产环境中提供静态文件,因为这用于本地开发(在此处阅读文档):

除了项目的静态资产之外,可能还有其他文件,为了方便起见,您希望 Django 在本地开发中为您服务。

其次,您的 Django Admin 静态文件位于 Django 的安装位置下。我发现直接使用这些文件比在我自己的静态文件目录下复制(或符号链接)Django 管理静态文件更好。

我的服务器上的示例 Django 静态文件位置:

/usr/local/lib/python2.7/dist-packages/django/contrib/admin/static/admin/;

因此,在您的网络服务器配置中,您必须将 url/media/admin指向

[my_django_location]/contrib/admin/static/admin/

如果您在本地做事,那么您可能需要在您的urls.py

(r'^admin/static/(?P<path>.*)$', 'django.views.static.serve', '/path/to/your/admin/files/'),
于 2012-12-03T16:58:09.660 回答