如何将我的Django视图的URL设置为网站的根域名?
我在Heroku上托管我的Django应用,而我的域名是通过Network Solutions注册的。当我输入我的域名,比如说www.example.com,Heroku显示的是:
"Not Found
The requested URL / was not found on this server."
然后我需要手动去访问显示我应用首页的链接,也就是www.example.com/shipment/。
我该如何让我的根域名www.example.com自动跳转到www.example.com/shipment/,或者说把/shipment/的链接改成我的根域名呢?
这是我应用的urls.py文件:
from django.conf.urls import patterns, url
from shipment import views
urlpatterns = patterns('',
url(r'^$', views.landing, name='landing'),
url(r'^create-subscription/$', views.createSubscription, name='createSubscription'), #
url(r'^(?P<subscription_duration>\d+)/create-account/$', views.createAccount, name='createAccount'),
url(r'^create-account/pay/$', views.pay, name='pay'),
url(r'^create-account/confirm/$', views.confirm, name='confirm'),
)
这是我项目的urls.py文件:
from django.conf.urls import patterns, include, url
# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
# Examples:
# url(r'^$', 'subscription.views.home', name='home'),
# url(r'^subscription/', include('subscription.foo.urls')),
# Uncomment the admin/doc line below to enable admin documentation:
# url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
# Uncomment the next line to enable the admin:
url(r'^shipment/', include('shipment.urls', namespace = "shipment")),
url(r'^admin/', include(admin.site.urls)),
)
2 个回答
1
你的问题出在这一行:
url(r'^shipment/', include('shipment.urls', namespace = "shipment")),
这行的意思是“包含所有这些网址,但它们必须以‘shipment/’开头。”
你可以在你的网站的 urls.py 文件中添加一行,比如:
url(r'^$', generic.RedirectView(url='/shipment/', permanent=False)),
(然后在文件的顶部也要加一行“from django.views import generic”)。
这行代码的作用是把网址 / 指向一个重定向视图,重定向到 /shipment/。
5
我把:
url(r'^shipment/', include('shipment.urls', namespace = "shipment")),
改成了
url(r'^', include('shipment.urls', namespace = "shipment")),
这样就解决问题了!