Django用sudomain写视图

时间:2017-12-08 16:52:56

标签: django django-urls django-subdomains

使用我的(Django v 1.17)项目,我正在使用https://github.com/tsayen/dom-to-image。 调用索引视图没问题,当我打开我的网址django-subdomains时,我会得到index.html。 我的问题是我为子域编写了一个名为example的新视图但是当我打开url https://subdomain.domain.com时,我将找不到错误页面(404)。 Hete是我的代码:

settings.py

INSTALLED_APPS = [
   'subdomain'
]
SUBDOMAIN_URLCONFS = {

    'subdomain': 'subdomain.urls',

}

子域/ urls.py

 from django.conf.urls import url, include

from . import views
from django.contrib.auth import views as auth_views
urlpatterns = [
    url(r'^$', views.index, name='index'),
    url(r'^$example', views.example, name='example'),
]

子域/ views.py

from django.shortcuts import render
from django.template import loader
from django.http import HttpResponse

def index(request):
    template = loader.get_template('subdomain/index.html')
    return HttpResponse(template.render())


def example(request):
    template = loader.get_template('subdomain/example.html')
    return HttpResponse(template.render())

错误:

    Page not found (404)
    Request Method: GET
    Request URL:    https://subdomain.domain.com/example
    Using the URLconf defined in subdomain.urls, Django tried these URL patterns, in this order:
   1. ^$ [name='index']
   2. ^$example [name='example']

    The current path, econ, didn't match any of these. 

请告知如何解决此问题并为子域编写视图。

1 个答案:

答案 0 :(得分:1)

这与django-subdomains无关。美元应该在正则表达式的 end

url(r'^example$', views.example, name='example'),

美元与字符串的结尾匹配,所以如果你在开头有它,那么它就不会匹配。