admin组件的使用

  1. 导进来的模板不能直接放到static,要从其他的地方移动到static,否则pycharm不能自动改变路径
    2.自关联
    class Userunfo(models.Model):
        title=models.CharField(max_length=32)
        price=models.ForeighKey("Userinfo")

price=models.ForeighKey("self")
3.如果数据库迁移发生错误,可能是和前几次迁移冲突的
解决办法:删除migrations下的文件
4.froms组件单放到一个py文件中,解耦

5.null=True,表示该字段可为空

class Customer(models.Model):
    name = models.CharField('姓名', max_length=32, blank=True, null=True)
6.admin的使用

功能:Django提供的以wed形式对模型表进行增删改查的后台数据管理系统,

(1) 将需要做操作的表写入admin.py

from django.contrib import admin
from app01.models import *
admin.site.register(UserInfo)
admin.site.register(ClassList)
admin.site.register(Customer)
admin.site.register(Campuses)

(2)访问http://127.0.0.1:8000/index/

(3)admin创建的用户密码为明文,想创建密文的密码必须用createsuperuser或者自己注册

(4)admin要求所有字段都不能为空,如果想为空需要添加black=True,

Null=true是数据库级别的black=trueadmin工具级别的

  1. 当要渲染的是queryset对象或可迭代对象的时候,

(1) 可以通过循环的方式渲染

<td>{% for foo in customer.class_list.all %}
     {% if not forloop.last %}
         {{ foo }} ,
     {% else %}
         {{ foo }}
     {% endif %}

{% endfor %}
</td>

(2) 也可以为model对象添加一个方法,调用方法来渲染

def get_classlist(self):
    l=[]
    for cls in self.class_list.all():
        l.append(str(cls))
    return mark_safe(",".join(l))

  1. 判断一个字段是否为空

字段名__isnull=True

9.百度颜色对照表

 

10.customer_obj = Customer.objects.get(id=id)

 

 

posted @ 2018-11-07 08:46  ★行者尚★  阅读(270)  评论(0编辑  收藏  举报