Django Python "TypeError: view must be callable or a list/tuple in the case of include()" with urls



我收到一个"类型错误:视图必须是可调用的,或者在 include(( 的情况下是一个列表/元组",用于下面的订阅 url Weather_App/url.py

import signupform.urls
import signupform.views as views
app_name = "Weather_App"
urlpatterns = [
    url(r'^admin/', admin.site.urls, name='admin'),
    url(r'^subscribe/', signupform.urls, name='signup'),
]

在我的其他 urls 文件注册表单/urls.py中,我遇到了类似的问题,但使用视图导入修复了它

from django.conf.urls import url
from . import views as Weather_App_views
urlpatterns = [
    url(r'^$', Weather_App_views.index, name='index'),
    url(r'confirm/$', Weather_App_views.confirm, name='confirm'),
]

视图看起来像

from django.http import HttpResponse
import json
from urllib.request import urlopen
from django.template import loader
from django.shortcuts import get_object_or_404, render
from django.http import *
from django.core.exceptions import ValidationError
from django.db import IntegrityError
from .models import WeatherSubscription
# Create your views here.
def index(request):
    return render(request, 'signupform/index.html', {'location_set':WeatherSubscription.city_choices})
def confirm(request):
    ws = WeatherSubscription(email=request.POST['email_input'], location=request.POST['location_input'])
    render_kwargs = {}
    try:
        ws.clean_fields()
        ws.save()
    except ValidationError as e:
        render_kwargs['invalid_message'] = 'Email not in a standard form.'
    except IntegrityError as e:
        render_kwargs['invalid_message'] = 'Email already subscribed.'
    return render(request, 'signupform/confirm.html', render_kwargs)

模型只有一个天气订阅功能

我的结构是
已签名表单
-初始化
-应用程序
-模型
-设置
-网址
-视图

Weather_App-初始化
-设置
-网址
-世界神清

例如,如果要

导入 signupform.url,则需要将 url 文件从应用程序导入到主应用程序

from django.conf.urls import url , include
from . import views as Weather_App_vie
urlpatterns = [
    url(r'^admin/', admin.site.urls, name='admin'),
    url(r'^subscribe/',include('signupform.urls'), name='signup'),
]

相关内容

最新更新