私は Django 開発に不慣れで、これまでのところこのサイトは非常に貴重であり、私が学んだことの多さに感心しています。そうは言っても、私は問題に直面しており、このサイトの関連する投稿をクロールしてきましたが、私の問題を解決するものは何も見つからないようです.
だから、あなたの一人が私がやっていることを見て、正しい方向に私を向けることができることを願っています. Django の管理ページ用の CSS ファイルを提供するように Apache Web サーバーを取得しようとしています。しかし、: にアクセスhttp://localhost/admin/
すると、次のエラーが表示されます。Forbidden. You don't have permission to access /admin/ on this server.
私のサイトmysite/static
の CSS/JS は にあり、管理ページの CSS/JS は Django インストール フォルダーにありますDjango-1.5/django/contrib/admin/static/admin
。私のsettings.py
ファイルの関連ビットは次のとおりです。
STATIC_ROOT = '/home/me/Desktop/djcode/mysite/production_static'
STATIC_URL = '/static/'
STATIC_DIRS = (
"/home/me/Django-1.5/django/contrib/admin/static/admin",
"/home/me/Desktop/djcode/mysite/static",
)
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
#'django.contrib.staticfiles.finders.DefaultStorageFinder',
)
python manage.py collectstatic
必要なすべての静的ファイルを 2 つのディレクトリの場所から取得production_static
し、プロジェクト フォルダー内のフォルダーに配置するコマンドを実行しました。
production_static
フォルダ レイアウトは次のとおりです。
$ cd production_static
$ ls
admin css images img js
このadmin
フォルダには、管理ページを表示するために必要なすべての静的ファイルが含まれています。しかし、何らかの理由で、css
フォルダーには私のサイトの CSS と管理 CSS の両方が含まれています。js
フォルダと同じです。images
フォルダは私のサイトの画像で、フォルダimg
は管理サイトの画像です。collectstatic
コマンドが管理者の静的ファイルの 2 つのコピーを作成する理由がわかりません。
Apacheのhttpd.conf
ファイルは次のとおりです。
AliasMatch ^/([^/]*\.css) /home/me/Desktop/djcode/mysite/production_static/css/$1
AliasMatch ^/([^/]*\.css) /home/me/Desktop/djcode/mysite/production_static/admin/css/$1
Alias /media/ /home/me/Desktop/djcode/mysite/media/
Alias /static/ /home/me/Desktop/djcode/mysite/production_static/
Alias /admin/ /home/me/Desktop/djcode/mysite/production_static/admin/
<Directory /home/me/Desktop/djcode/mysite/production_static>
Order deny,allow
Allow from all
</Directory>
<Directory /home/me/Desktop/djcode/mysite/media>
Order deny,allow
Allow from all
</Directory>
WSGIScriptAlias / /home/me/Desktop/djcode/mysite/mysite/wsgi.py
WSGIPythonPath /home/me/Desktop/djcode/mysite
<Directory /home/me/Desktop/djcode/mysite/mysite>
<Files wsgi.py>
Order deny,allow
Allow from all
</Files>
</Directory>
ファイルに変更を加えるたびに、Apache サーバーを再起動するようにしていhttpd.conf
ます。
そして、ここに私のurls.py
ファイルがあります:
from django.conf.urls import patterns, include, url
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
url(r'^$', 'mysite.views.homepage_view'),
# other url-view mappings here
url(r'^admin/', include(admin.site.urls)),
)
私のホームページや他のページは正常に読み込まれます。CSS と JS はすべて素晴らしいです。アクセスしようとすると、アクセスhttp://localhost/admin/
許可エラーが発生します。