gpt4 book ai didi

django - 使用URL前缀("subdirectory"来运行Django)-应用可以运行,但是URL断开了吗?

转载 作者:行者123 更新时间:2023-12-03 20:22:04 25 4
gpt4 key购买 nike

以下是相关的配置文件,也位于http://dpaste.com/97213/

apache配置当前正在工作,因为访问“example.com/”会向我显示我放置在文档根目录下的index.html文件。

我想以前缀'/d'提供Django/apps,因此'example.com/d/'将加载默认应用程序,'example.com/d/app3'将加载另一个应用程序,如url中所配置。 py。

服务Django,我在Linux上使用建议的mod_wsgi。

目前,我可以在“example.com/d”上访问“票务”应用程序,但是当@login_required装饰器试图将我发送到登录页面时,我将被发送到“example.com/accounts/login”,而不是预期的“example.com/d/accounts/login”。

由于默认应用正确加载,因此我不确定在这里做错了什么,或者这是生成URL时Django中的错误。

有什么建议么?

编辑:
请注意,如果我更改apache配置行:
WSGIScriptAlias/d/home/blah/django_projects/Tickets/apache/django.wsgi

WSGIScriptAlias//home/blah/django_projects/Tickets/apache/django.wsgi
应用程序,注释和登录都可以正常工作。即使我去了example.com/admin,也加载了admin,尽管我将admin媒体弄坏了,所以没有加载样式表。

---配置如下:

#
# /home/blah/django_projects/Ticket/urls.py
#
from django.conf.urls.defaults import *
from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
(r'^', include('ticket.urls')),
(r'^admin/', include(admin.site.urls)),
(r'^comments/', include('django.contrib.comments.urls')),
)


#
# /home/blah/django_projects/Ticket/apache/django.wsgi
#
import os, sys

sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/..')

sys.path.append('/home/blah/django_projects')
sys.path.append('/home/blah/django_projects/Tickets')

os.environ['DJANGO_SETTINGS_MODULE'] = 'Tickets.settings'

import django.core.handlers.wsgi

application = django.core.handlers.wsgi.WSGIHandler()


#
# /etc/apache2/sites-available/django_tickets_wsgi (apache conf)
#
NameVirtualHost *
<VirtualHost *>

Alias /media /home/blah/django_projects/Tickets/media


WSGIScriptAlias /d /home/blah/django_projects/Tickets/apache/django.wsgi
WSGIDaemonProcess exmaple_com user=blah group=blah processes=1 threads=10
WSGIProcessGroup example_com

ServerAdmin localhost@example.com
ServerName example.com

DocumentRoot /var/www/

<Directory /var/www/>
Options -Indexes FollowSymLinks -MultiViews -Includes
AllowOverride None
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
ServerSignature Off

</VirtualHost>

最佳答案

这是Django Apache Redirect Problem的可能副本,因为回答了这个问题。

我最终在绝望中打开了几乎所有“相关问题”,最终无意中发现了这个答案。从我的角度来看,我认为我的问题有一些有值(value)的“搜索友好”字眼。

编辑:答案:(通过alex vasi)

尝试的事情:

  • 在“站点”框架中将当前域更改为“yourdomain.tld/cflow”。使用django admin或dumpdata/loaddata manage.py命令很容易做到。
  • 您的网站似乎正在使用login_required装饰器。在这种情况下,您可以添加到settings.py:

    LOGIN_URL ='/[前缀]/帐户/登录/'
  • 关于django - 使用URL前缀("subdirectory"来运行Django)-应用可以运行,但是URL断开了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1466708/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com