Konfigurace projektu Django v podadresáři pomocí Mod_python. Admin nefunguje

hlasů
1

Ahoj kluci. Snažil jsem se nastavit svůj Django projektu do podadresáře kořene, ale nedostal se věci pracovat. (Lokálně to funguje dokonalý). Sledoval jsem Django Django oficiální documentarion nasadit projektu s mod_python. Skutečným problémem je, že jsem se dostat „Stránka nebyla nalezena“ chyby, kdykoli se snažím jít na admin nebo jakéhokoli pohledu mé aplikace.

Tady je moje python.conf soubor umístěn v /etc/httpd/conf.d/ ve Fedoře 7

LoadModule python_module modules / mod_python.so

SetHandler python-program
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE mysite.settings
PythonOption django.root /mysite
PythonDebug On
PythonPath ['/var/www/vhosts/mysite.com/httpdocs','/var/www/vhosts/mysite.com/httpdocs/mysite'] + sys.path

Znám / var / www / není nejlepší místo pro svou Django projekt, ale já chci poslat demo mé práce v průběhu mého zákazníka, později jsem se změní umístění.

Například. Když půjdu do www.domain.com/mysite/ mám náhledové I nakonfigurován v mysite.urls. Ale nemohu přistupovat ke svým app.urls (www.domain.com/mysite/app/) a některý z admin.urls. (Www.domain.com/mysite/admin/)

Zde je mysite.urls:

urlpatterns = vzory ( '',

url(r'^admin/password_reset/$', 'django.contrib.auth.views.password_reset', name='password_reset'),
(r'^password_reset/done/$', 'django.contrib.auth.views.password_reset_done'),
(r'^reset/(?P<uidb36>[0-9A-Za-z]+)-(?P<token>.+)/$', 'django.contrib.auth.views.password_reset_confirm'),
(r'^reset/done/$', 'django.contrib.auth.views.password_reset_complete'),
(r'^$', 'app.views.index'),
(r'^admin/', include(admin.site.urls)),
(r'^app/', include('mysite.app.urls')),
(r'^photologue/', include('photologue.urls')),

)

Také jsem se snažil měnit admin.site.urls s ‚‘ django.contrib.admin.urls', ale to nefungovalo. I googled hodně k vyřešení tohoto problému a číst, jak ostatní vývojáři nastavit jejich Django projekt, ale nenašel příliš mnoho informací k nasazení Django v podadresáři. Musím admin povoleno v INSTALLED_APPS a settings.py je v pořádku.

Prosím, pokud máte nějaké vodítko nebo říkat mi, co dělám špatně, že bude velmi oceňovány.

Dík.

Položena 27/08/2009 v 00:19
zdroj uživatelem
V jiných jazycích...                            


2 odpovědí

hlasů
0

Pokud váš settings.py je správný a má svůj správný INSTALLED_APPS a pracuje ve vývojovém serveru, pak bych řekl, že vám to konfigurační soubor Apache.

Zkuste spustit svůj python app vytvořit konfigurační soubory Apache pro Mod_python + Django. Zdroj je zde na github.com. Jakmile budete mít soubor pracovní konfigurace, můžete ji upravit.

Běh jako toto:

C:\Users\hughdbrown\Documents\django\Apache-conf>python http_conf_gen.py --flavor=mod_python --source_dir=. --server_name=foo.com --project_name=foo
Writing 'foo.vhost.python.conf'

Výsledek vypadá takto:

# apache_template.txt
NameVirtualHost *:80

<VirtualHost *:80>
    ServerAdmin webmaster@foo.com
    ServerName foo.com

    DocumentRoot "./foo/"

    <Location "/">
        # without this, you'll get 403 permission errors
        # Apache - "Client denied by server configuration" 
        allow from all

        SetHandler python-program
        PythonHandler django.core.handlers.modpython
        PythonOption django.root /foo

        PythonDebug On
        PythonPath "[os.path.normpath(s) for s in (r'.', r'C:\Python26\lib\site-packages\django') ] + sys.path"
        SetEnv DJANGO_SETTINGS_MODULE foo.settings
        PythonAutoReload Off
    </Location>

    <Location "/media" >
        SetHandler None
        allow from all
    </Location>

    <Location "/site-media" >
        SetHandler None
        allow from all
    </Location>

    <LocationMatch "\.(jpg|gif|png)$">
        SetHandler None
        allow from all
    </LocationMatch>
</VirtualHost>
Odpovězeno 27/08/2009 v 00:54
zdroj uživatelem

hlasů
0

Já používám mod_wsgi, takže si nejsem jistý, jestli je to všechno stejné. Ale podle mého urls.py, mám:

(r'^admin/(.*)', admin.site.root),

Podle mého Apache config, mám toto:

Alias /admin/media/ /usr/lib/python2.5/site-packages/django/contrib/admin/media

Vaše cesta se může lišit.

Odpovězeno 27/08/2009 v 00:53
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more