我有views.py
from django.shortcuts import render
from forms import ReferenceTableForm
class ReferenceTable(object):
def createReferenceTable(request):
form = ReferenceTableForm()
return render(request, "DataImport/createReferenceTable.html", {'form': form})
这是我的urls.py
from django.conf.urls import patterns, include, url
import views
urlpatterns = patterns('',
url(r'^$', views.createReferenceTable),
)
但是当我转到我的网址时,http://localhost:8000/create_reference_table/
(我为每个应用使用不同的urls.py
),我收到此错误:
'module' object has no attribute 'createReferenceTable'
如果我将方法createReferenceTable
移出课堂,它可以正常工作。
我认为这是因为我正在调用一个类中的方法,它期望从这个类的实例调用它,但由于我不是很有经验,我真的不知道如何排序它(无论是否是问题)。
有人可以解释发生了什么,以及如何解决问题并防止下次发生?
提前致谢!
答案 0 :(得分:1)
您应该将方法设为静态:
class ReferenceTable(object):
@staticmethod
def createReferenceTable(request):
...
然后在urls.py
中添加班级名称:
url(r'^$', views.ReferenceTable.createReferenceTable),
答案 1 :(得分:-1)
您可以在观看中写下ref = RefrenceTable()
,然后在网址中写下ref.createRefrenceTable
,from views import ref