簡體   English   中英

在子目錄或 suburl 中運行 Django 時出現 url 問題

[英]Issues in urls when running Django in subdirectory or say suburl

我正在嘗試在 WordPress 內運行 Django,例如 WordPress 在 main url www.wptesting.com和 Django 在 suburl www.wptesting.com/django Django 主根 url 在www.wptesting.com/django上工作正常,但它的 suburl 例如 admin 不工作,因為它應該是www.wptesting.com/django/admin 但是,每當我嘗試請求管理員 url 時,它都會轉換為www.wptesting.comhttp%3a//wptesting.com/django/admin

我正在運行 WordPress 和 Django 與Apachemod_wsgi ,我的 apache 的 conf 文件如下:

<VirtualHost *:80>

WSGIScriptAlias /django /path_to_project/wsgi.py

ServerName wptesting.com
ServerAlias www.wptesting.com

DocumentRoot /var/www/html/wordpress

<Directory /var/www/html/wordpress/>
AllowOverride All
Order allow,deny

allow from all
#            Options Indexes FollowSymLinks
#            Require all granted
</Directory>


<Directory /path_to_project/>
            Options Indexes FollowSymLinks
            Require all granted
</Directory>


</VirtualHost>

我之前問過一個關於從 WordPress 的子目錄中使用 Apache 和 wsgi 配置 Django 的問題 -> 你可以在這里看到這個問題

此外,如果我嘗試訪問不在 Django 項目中的任何 url,那么它會給出標准的 404 未找到錯誤,但是當我嘗試訪問任何有效的 url(如管理員)時,它會給出上述錯誤。

編輯:我的 Urls.py 文件:

from django.conf.urls import patterns, include, url
from django.contrib import admin
from django.views.generic import TemplateView

urlpatterns = patterns('',
    # Examples:
    # url(r'^$', 'dev_redis.views.home', name='home'),
    # url(r'^blog/', include('blog.urls')),

    url(r'^$',TemplateView.as_view(template_name='index.html')),
    url(r'^admin/', include(admin.site.urls)),

    url(r'^cache/', 'redis_app.views.redisTest'),

)

首先,Django 和 apache 作為后端網絡服務器運行。 因此,您可以通過在兩個單獨的端口上運行 apache 和 Django 來解決此問題。

然后,您可以使用HttpResponseRedirect從當前 Django 站點重定向到新站點。

這是 urls.py 的舊格式。 目前是這樣的:

"""monero URL Configuration

The `urlpatterns` list routes URLs to views. For more information please see:
    https://docs.djangoproject.com/en/3.0/topics/http/urls/
Examples:
Function views
    1. Add an import:  from my_app import views
    2. Add a URL to urlpatterns:  path('', views.home, name='home')
Class-based views
    1. Add an import:  from other_app.views import Home
    2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')
Including another URLconf
    1. Import the include() function: from django.urls import include, path
    2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.urls import path
from monero import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('/', views.py),
]

這實際上是您創建新的 django 項目時生成的文件。

嘿,我在您的網址中遇到問題,請嘗試:

www.wptesting.com/admin

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM