Django笔记-连载(记录2018-12-16)

1、django从1.9开始ForeignKey中的on_delete参数是必须的。

hbook = models.ForeignKey('BookInfo')这句代码就让BookInfo类和HeroInfo类之间建立了一对多的关系。

所以在1.9&之后的module里面存在创建多对一的关系,需要在Foreign的第二参数中加入on_delete=models.CASCADE  主外关系键中,级联删除,也就是当删除主表的数据时候从表中的数据也随着一起删除

done

2、doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS

这个问题出现没有在setting INSTALLED_APPS  添加项目名称引起,添加即可解决

done

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'heroand.test1.booktest',#     进行项目的注册
]

3、注册站点需要添加class到admin.site括号内,打开booktest/admin.py文件,自定义类,继承自admin.ModelAdmin类,自定义后台管理页面展示

done

admin.site.register(HeroInfo,HeroInfoAdmin)

 4、添加测试页面

done

views定义请求->

def index(request):
return HttpResponse('index test views')
urls注册->

urlpatterns = [ path('admin/', admin.site.urls), url('admin/test', include('heroand.test1.booktest.urls')), ]

 5、实例对象传入类型不一致问题

模板渲染中传入的内容只能是字典,不能是Context对象类型,问题主要出在版本上(版本兼容性问题),1.1版本中可以直接传入Context对象,在1.11后只能传入字典

done

 

可能我的解决方案不一定适合你`如果不行请重新google...never give up

posted @ 2018-12-16 15:46  zolotest  阅读(254)  评论(0编辑  收藏  举报