Django 使用 IP 地址定义默认视图



我将Django project迁移到Ubuntu distant server。我正在使用mod_wsgi来运行服务器,我对默认页面有一些疑问。

我在这个领域真的很新,如果我的问题不好或没用,我深表歉意......

当我想连接到我的 Django 应用程序时,我必须写这样的东西:

http://172.XX.XX.XXX/Home/login/

如果我只写:

http://172.XX.XX.XXX

我得到 :

Page not found
Using the URLconf defined in Etat_civil.urls, Django tried these URL patterns, in this order:
    ^admin/
    ^BirthCertificate/
    ^Identity/
    ^Accueil/
    ^Home/
    ^captcha/
    ^Mairie/
The current URL, , didn't match any of these.

我的问题是:

例如,我如何定义重定向的 url 以便在浏览器中写入 http://172.XX.XX.XXX 并直接转到 http://172.XX.XX.XXX/Home/login/?

这是我项目中 urls.py 文件:

from django.conf.urls import url, include
from django.contrib import admin
from django.conf.urls.static import static
from django.conf import settings
from BirthCertificate import views
from Identity import views
from Accueil import views
from log import views
from Mairie import views

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^BirthCertificate/', include('BirthCertificate.urls')),
    url(r'^Identity/', include('Identity.urls')),
    url(r'^Accueil/', include('Accueil.urls')),
    url(r'^Home/', include('log.urls')),
    url(r'^captcha/', include('captcha.urls')),
    url(r'^Mairie/', include('Mairie.urls')), 
] 

因为我只想写我的IP地址,以便访问我的Django应用程序,而不是一直写一个完整的url。

如果您需要一些文件(apache2文件,...),请告诉我必须在那里发布哪一个。

将其包含在任何应用程序的 views.py 文件中:

from django.shortcuts import redirect
def some_view(request):
    return redirect('/Home/login/')

假设视图在日志应用程序中,在 urls.py 中包含以下内容:

from log.views import some_view
urlpatterns = [
    url(r'^$', some_view,name='index'),
    url(r'^admin/', admin.site.urls),
    url(r'^BirthCertificate/', include('BirthCertificate.urls')),
    url(r'^Identity/', include('Identity.urls')),
    url(r'^Accueil/', include('Accueil.urls')),
    url(r'^Home/', include('log.urls')),
    url(r'^captcha/', include('captcha.urls')),
    url(r'^Mairie/', include('Mairie.urls')), 
] 

一种方法是通过对urls.py进行以下更改来使用RedirectView

from django.views.generic.base import RedirectView
urlpatterns = [
    url(r'^$', RedirectView.as_view(url='/Home'), name='home'),
    ...
]

你可以在 Django 中执行此操作,也可以从您的 Web 服务器进行配置。Django 有重定向应用程序通过 https://docs.djangoproject.com/en/1.10/ref/contrib/redirects/了解更多信息。您只需在 django 管理员的重定向部分添加源和重定向 url。

最新更新