我发现一些问题是我的问题,你的解决方案没有帮助我所以我开始了一个新的问题。基本上这就是我看到管理页面的方式
Apache的配置:
<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}),
)
settings.py:
MEDIA_ROOT = '/var/www/webproxy/media/'
STATIC_ROOT = '/var/www/webproxy/static/'
WEBPROXY_MEDIA_ROOT = '/var/www/webproxy/static/media/'
我不确定这里有什么问题。任何帮助都会非常感激。
答案 0 :(得分:2)
首先,您不应该通过生产中的django.views.static.serve
提供静态文件,因为它仅用于 进行本地开发(阅读文档here):
可能有项目的静态资产以外的文件 方便,你想让Django在当地为你服务 发展。
其次,您的Django Admin静态文件位于Django安装位置下。我发现直接使用这些文件比在我自己的静态文件目录下复制(或符号链接)Django管理静态文件更好的解决方案。
我的服务器上的Django静态文件位置示例:
/usr/local/lib/python2.7/dist-packages/django/contrib/admin/static/admin/;
因此,在您的网络服务器配置中,您必须将网址/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/'),