在heroku上部署的Django admin中显示名称

时间:2018-07-16 17:32:14

标签: python django django-models django-admin

我已经在heroku上部署了django应用。如果我访问我的应用程序的/ admin并登录, 1]

我在这里显示的是Category对象,而不是类别的实际名称,尽管我在models.py中已经提到了它。

 componentDidMount() {

    axios({
            method: "get",
            url: "/app/viewclient/"+this.state.Code  ,
            withCredentials: true,
            headers: {
                "Access-Control-Allow-Origin": "*",
                "Content-Type": "application/json",
                Accept: "application/json"
            }
        })
        .then(response => {
            if (response && response.data) {
                this.setState({ clients: response.data });
            }
        })
        .catch(error => console.log(error));
}

我已经通过管理界面本身添加了这些类别对象。可能与显示器有关吗?

3 个答案:

答案 0 :(得分:0)

您应确保在开发中正在运行与Heroku中相同版本的Python。

您显然在这里使用的是Python 3,因此应在模型类中定义__str__,而不是__unicode__

答案 1 :(得分:0)

Python2:

ad.test(df)  
*Error in [.data.frame(x, complete.cases(x)) :    undefined columns selected*

normality_check = lapply(df,ad.test) 
*Error in if (AA < 0.2) { : missing value where TRUE/FALSE needed*

Python3:每当您在对象上调用str()时,都会调用 str ()方法。在Python 3中,Django在许多地方Django Documentation中使用str(obj) 之一:

def __unicode__(self):
   return self.name

多个:

def __str__(self):
   return self.name

答案 2 :(得分:-1)

您需要像这样在admin.py文件中定义一个管理类:

class CategoryAdmin(admin.ModelAdmin):
    fields = ('name',)

并注册:

admin.site.register(Category, CategoryAdmin)

请参见doc