<p>我有两个Django应用程序(appsystem和testapp)运行在不同的文件夹中,这些文件夹在相同的apache虚拟主机设置中启用(请参阅最后的conf文件)。在</p>
<p>一个应用程序在域的根目录上显示一个页面,这个页面似乎总是运行良好,但是当我转到一个应该指向第二个应用程序的URL时,它第一次失败了,抱怨它找不到数据库表,尽管我可以在debug页面中看到加载正确的设置。在</p>
<p>如果我刷新页面,那么它(testapp)会正常工作,直到我从appssytem返回一个页面。如果我这样做并返回testapp,我必须刷新页面。在</p>
<p>这两个应用程序都在使用sqlite进行身份验证,但是从appsystem的设置文件中删除身份验证和sqlite引用似乎没有什么不同。在</p>
<p>我这样做的原因是因为这样做的想法是,显示根页面的应用程序(以及一些具有唯一url的管理页面)将列出已安装的其他django应用程序,并显示要单击的链接。在</p>
<p>我还怀疑它可能与会话相关,因为我可以在另一个浏览器中直接转到testapp,即使在第一个实例中也可以正常工作。因此,我给了每个django应用程序自己的SESSION_COOKIE_NAME值,但这似乎没有帮助。在</p>
<p>有人知道问题出在哪里吗?在</p>
<pre><code><VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /app_www_root
RewriteEngine On
# the root of the box should show the system index - a list of installed apps
RewriteRule ^/$ /appsystem/system_index/ [PT]
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /app_www_root/>
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
Include /etc/apache2/installed-apps/
## this is what gets pulled in by the include ##
Alias /testapp/static /testapp/static
Alias /testapp/logs /var/log/testapp
WSGIScriptAliasMatch ^/testapp /testapp/django.wsgi
<Directory "/testapp">
Order allow,deny
Allow from all
</Directory>
<Directory "/var/log/testapp">
Order allow,deny
Allow from all
</Directory>
<Location "/testapp/logs">
SetHandler none
Options +Indexes
</Location>
<Location "/testappl/static">
SetHandler none
Options -Indexes
Options +Includes
AddOutputFilter INCLUDES .html
</Location>
## end of included file ##
# wsgi docs advise against trailing slash below
WSGIScriptAlias /appsystem /app_sys/django.wsgi
</VirtualHost>
</code></pre>