Django与Apache一起为管理页面工作,但为所有其他网址提供404

时间:2017-10-25 10:47:17

标签: python django apache

我是django初学者。

我尝试使用apache2(2.4.7)从本地服务器部署我的django(1.10)站点 港口开通了。

管理页面正在正常打开,但所有其他视图都没有打开。

URLS.PY

from django.conf.urls import url,include
from django.contrib import admin
from django.views.generic import RedirectView
from django.conf import settings
urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^treedump/',include('treedump.urls')),
    url(r'^$', RedirectView.as_view(url='/treedump/', permanent=True)),
    url(r'^accounts/', include('django.contrib.auth.urls')),
 ]

TREEDUMP.URLS

from django.conf.urls import url

from . import views

urlpatterns=[
    url(r'^$',views.index,name='index'),
    url(r'printx$',views.printx,name = 'printx'),
    url(r'download$',views.download,name = 'download'),

    ]

。APCHE中的文件

 <VirtualHost *:80>
     ServerName *********
     DocumentRoot /var/www/html/

  Alias /static /data1/ekmmsc/webapp/ekmmsc/static

  WSGIDaemonProcess ekmmsc python-path=/data1/ekmmsc/webapp/ekmmsc python-     home=/data1/ekmmsc/webapp/ekmmsc/ekmmscenv
  WSGIProcessGroup ekmmsc
  WSGIScriptAlias /ekmmsc /data1/ekmmsc/webapp/ekmmsc/ekmmsc/wsgi.py

  # Other directives here ...
  <Directory "/var/www/html/">
    allow from all
    order allow,deny
    AllowOverride All
    AddType text/css .css
    AddType text/javascript .js
  </Directory>


  <Directory "/data1/ekmmsc/webapp/ekmmsc/static">
    Require all granted
  </Directory>

  <Directory "/data1/ekmmsc/webapp/ekmmsc/ekmmsc">
    <Files wsgi.py>
       Require all granted
    </Files>
  </Directory>



  </VirtualHost>

输出

未找到

在此服务器上找不到请求的URL / treedump /。

任何帮助将不胜感激,我已经工作了近2天。 请帮忙。

1 个答案:

答案 0 :(得分:0)

您应该在视图中使用pattern_name而不是url。这将使Django按名称查找URL,而不是使用硬编码值,因此它将考虑脚本前缀。

RedirectView.as_view(pattern_name='index', permanent=True)),