关于django

1.测试加密加盐的网页

http://www.cmd5.com/hash.aspx

2.运行的时候要映射外网的话,最好用地址,不要用127.0.0.1或者localhost

 

3.数据库表关系的理解

假设有表A和表B,表A为当前表

 

ForeignKey

表A中的每一个条记录都和表B里面的一个记录关联,同时表B里面的每一个记录关联表A的多个记录

比如表A是县名称,表B是省名称,表A里面的一条记录必须对应表B里面的一条记录(一个县必须对应某个省),但是表B里面的一条记录可能对应表A里面的多条记录(一个省可能对应多个县)

同理

A:学生 B:班级

A:留言记录 B:留言的人

A:线程      B:进程

 

ManyToManyField

表A中的每一个条记录都和表B里面的多个记录关联,同时表B里面的每一个记录关联表A的多个记录

比如员工和职位,一个员工可能身兼多职,一个职位也可能多个员工

OneToOneField

表A中的每一个条记录都和表B里面的一个记录关联,同时表B里面的每一个记录只能关联表A的一个记录,不能和其他的关联(一一映射)

如父与子

 3.遍历数据库

    Machines = Machine.objects.all().reverse()
    a = Machines.values()
    for row in a:
        rowkeys = row.values()
        print rowkeys

 

        a = querySet.values()
        for row in a:
            rowkeys = row.keys()
            print rowkeys
            rowvalues = row.values()
            print rowvalues

 3.表单form里面的所有的类型

    # Field
    # | --CharField
    # | | --RegexField
    # | | --EmailField
    # | | --URLField
    # | | --IPAddressField
    # | | --GenericIPAddressField
    # | `--SlugField
    # | --IntegerField
    # | | --FloatField
    # | `--DecimalField
    # | --BaseTomporalField
    # | | --DateField
    # | | --TimeField
    # | `--DateTimeField
    # | --FileField  # file选择文件
    # | `--ImageField
    # | --BooleanField  # checkbox
    # | `--NullBooleanField  # select:Unknow,Yes,No
    # | --ChoiceField  # select
    # | | --TypedChoiceField
    # | | --FilePathField
    # | `--MultipleChoiceField
    # | `--TypedMultipleChoiceField
    # | --ComboField
    # `--MultiValueField
    # `--SplitDateTimeField

4. 关于Django的错误

表单会自己调用检验数据是否有错

    def clean_machine_product(self):
        mp=self.cleaned_data['machine_product']
        if len(mp) == 0:
            raise forms.ValidationError(u"请不要非法提交数据")
        return mp

然后HTML里面使用错误

                {% if form.machine_product.errors or form.machine_program_version.errors or form.machine_id.errors%}
                    <div class="mws-form-message error" >
                        {% if form.machine_product.errors %}
                            {{ form.machine_product.errors }}
                        {% endif %}
                        {% if form.machine_program_version.errors %}
                            {{ form.machine_program_version.errors }}
                        {% endif %}
                        {% if form.machine_id.errors %}
                            {{ form.machine_id.errors }}
                        {% endif %}
                    </div>
                {% endif %}

具体的说明见

http://blog.csdn.net/xxm524/article/details/48369623

posted @ 2017-08-24 20:26  balder_m  阅读(182)  评论(1编辑  收藏  举报