您好我正在编写我的第一个Django程序。我收到了这个错误:
url(r'^hello/',view.Users().getUsers(), name='hello')
File"C:\Users\jayant.brahmchari\AppData\Local\Programs\Python\Python36\lib\si
te-packages\django\conf\urls\__init__.py", line 85, in url
raise TypeError('view must be a callable or a list/tuple in the case of
include().')
TypeError: view must be a callable or a list/tuple in the case of include().
这是我的urls.py:
from django.conf.urls import url
from django.contrib import admin
from . import view
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^hello/',view.Users().getUsers(), name='hello')
]
这是view.py:
from django.http import HttpResponse
class Users:
def getUsers(self):
return HttpResponse("Hello Users")
根据论坛中的人url不接受字符串作为第二个参数,但在我的代码视图中已经可调用但仍然出现此错误。
提前致谢。
答案 0 :(得分:1)
你想要做的事情不存在。
在您的网址中,您可以轻松完成
url(r'^hello/$',view.get_users, name='hello')
并在您的视图上添加没有类
的函数
def get_users(request):
return HttpResponse("hello users")
我建议你在django网站上进行django教程(Codex page)
我希望它有所帮助
BestHélio
答案 1 :(得分:0)
错误表明是正确的。您正在将方法调用的结果传递给url()函数。尝试将方法引用传递为view.Users().getUsers
,而不是调用getUsers()
函数