Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何修复';TypeError:参数类型为';功能';不可编辑';用python_Python_Django_Python 3.x - Fatal编程技术网

如何修复';TypeError:参数类型为';功能';不可编辑';用python

如何修复';TypeError:参数类型为';功能';不可编辑';用python,python,django,python-3.x,Python,Django,Python 3.x,我正在制作一个django应用程序,可以收发电子邮件。对于django应用程序,我正在为views.py编写代码 运行文件后,我遇到了这个错误。 这是我的django应用程序中的views.py 从django.exe导入渲染 从django.contrib导入消息 从django.core.mail导入发送邮件 #从demoapp.form导入ContactForm #在这里创建您的视图。 def索引(请求): 返回呈现(请求,'index.html',{'page':'home'}) def

我正在制作一个django应用程序,可以收发电子邮件。对于django应用程序,我正在为views.py编写代码 运行文件后,我遇到了这个错误。 这是我的django应用程序中的views.py

从django.exe导入渲染
从django.contrib导入消息
从django.core.mail导入发送邮件
#从demoapp.form导入ContactForm
#在这里创建您的视图。
def索引(请求):
返回呈现(请求,'index.html',{'page':'home'})
def联系人(请求):
尝试:
如果request.method==“POST”:
表单=联系人表单(request.POST)
如果form.is_有效():
发送邮件(表格数据)
messages.success(请求“您的邮件已成功提交”)
其他:
form=ContactForm()
除:
错误(请求,'contact.html',{'page':'contact','form':form})
def清除(请求):
form=ContactForm()
消息。错误(请求,“字段已清除”)
返回呈现(请求,'contact.html',{'page':'contact','form':form})
url.py 这个url.py来自django项目。我还没有为我的应用程序创建任何URL.py

来自django.contrib导入管理
从django.url导入路径
从django.conf.url导入url
从demoapp.views导入索引,关于,联系人,清除
URL模式=[
路径('admin/',admin.site.url),
url(r'^$',索引,名称=索引),
url(r“^about/$”,about,name=about),
url(r“^contact/$”,contact,name=contact),
url(r“^clear/$”,clear,name=clear),
]
在运行python3 manage.py runserver之后,出现以下错误


使用StatReloader监视文件更改
正在执行系统检查。。。
线程1中的异常:
回溯(最近一次呼叫最后一次):
文件“/usr/lib/python3.6/threading.py”,第916行,在内部引导中
self.run()
文件“/usr/lib/python3.6/threading.py”,第864行,运行中
自我目标(*自我参数,**自我参数)
文件“/usr/local/lib/python3.6/dist-packages/django/utils/autoreload.py”,第54行,在包装器中
fn(*args,**kwargs)
文件“/usr/local/lib/python3.6/dist packages/django/core/management/commands/runserver.py”,第117行,在内部运行
self.check(display\u num\u errors=True)
文件“/usr/local/lib/python3.6/dist-packages/django/core/management/base.py”,第390行,选中
包括部署检查=包括部署检查,
文件“/usr/local/lib/python3.6/dist packages/django/core/management/base.py”,第377行,在运行检查中
返回检查。运行检查(**kwargs)
文件“/usr/local/lib/python3.6/dist packages/django/core/checks/registry.py”,第72行,运行检查
新建错误=检查(应用程序配置=应用程序配置)
文件“/usr/local/lib/python3.6/dist packages/django/core/checks/url.py”,第13行,在check\u url\u config中
返回检查\u分解器(分解器)
文件“/usr/local/lib/python3.6/dist packages/django/core/checks/url.py”,第23行,在check\u解析器中
返回检查方法()
文件“/usr/local/lib/python3.6/dist-packages/django/url/resolvers.py”,第399行,选中
messages.extend(检查解析器(模式))
文件“/usr/local/lib/python3.6/dist packages/django/core/checks/url.py”,第23行,在check\u解析器中
返回检查方法()
文件“/usr/local/lib/python3.6/dist-packages/django/url/resolvers.py”,第325行,选中
警告=自我检查模式名称()
文件“/usr/local/lib/python3.6/dist packages/django/url/resolvers.py”,第333行,在检查模式名称中
如果self.pattern.name不是None,并且self.pattern.name中的“:”:
TypeError:类型“function”的参数不可iterable

您的
名称
不是字符串,而是对视图函数的引用。您应该改为使用字符串,如:

urlpatterns = [
    path('admin/', admin.site.urls),
    url(r'^$' , index , name='index'),
    url(r'^about/$' , about , name='about'),
    url(r'^contact/$' , contact , name='contact'),
    url(r'^clear/$' , clear , name='clear'),
]
urlpatterns=[
路径('admin/',admin.site.url),
url(r'^$',索引,name='index'),
url(r“^about/$”,about,name='about'),
url(r“^contact/$”,contact,name='contact'),
url(r'^clear/$',clear,name='clear'),
]

因此,我们在这里使用字符串文字
'index'
,而不是
索引
标识符,后者仅指查看函数。

您可以添加URL.py吗?您的
URL.py可能有问题。您有名为
name
的函数吗,代码中的某个地方?
clear
视图也有点“奇怪”。通常不会通过视图执行此操作。通常这是在HTML/JavaScript中完成的。请注意,
contact
从不返回响应。