'module' object has no attribute "funSalaryGuide"错误
AttributeError: 'module' object has no attribute "funSalaryGuide"这个错误相信很多django的开发人员都会遇到。一般来说都是应用没有安装完成,重新安装就可以了。
这几天我遇到的情况是已经写好并且用了好几个月的组件,会在某一次出现这个情况,然后就一直这个情况,重新编译文件,重启服务器,重启电脑,均没有效果
有一次这个错误我通过在init方法中添加方法,让方法初始化,但是这几天貌似证明是碰运气碰对了
第二次解决的时候,在urls方法中直接写绝对路径,也能碰对
今天再我用过了所有方法后,最后改变了urls的编写方式,现在正确了
这是之前出错的urls,models是文件夹
import views
import models
urlpatterns = patterns('mysite.salary',
(r'^guide/$', views.funSalaryGuide),
(r'^timeAccount/$',models.model_base.render_account_page),
这是改正后的
import views
import models
urlpatterns = patterns('mysite.salary',
(r'^guide/$','views.funSalaryGuide'),
(r'^timeAccount/$','models.model_base.render_account_page'),
其实就是在引用地址上面加上了引号。
错误分析,我觉着django有可能将文件.model_base.当成了一个方法,所有会出现那个错误。现在加上引号了,证明是完整路径,这样应该没有问题了
url(r'^profile/(\w{1,})/$',profile_view.show_profile_detail),
url 参数的获取需要加上元组,方法又是需要加上引号
def show_profile_detail(req, item):
t = loader.get_template('profile/profile_detail.html')
tab_list = ['内容主题','文章质量','地理位置','其他']
c = Context({'tab_list':tab_list,'item':item})
return HttpResponse(t.render(c))
第二个参数前要有空格,不然报的错我也忘了,自己试一下