1

私は 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/許可エラーが発生します。

4

1 に答える 1