Day1,
学习django实际上已经过去了四天,由于基础薄弱,理解相对困难,现在把这几天学习总结到的知识点写出来。
初始django,
MTV设计模式,
M:Model?主要负责和数据库端进行交互,目前学习了生成以及逆向生成模型,命令如下:
python manage.py makemigrations?生成模型迁移文件
python manage.py migrate?迁移数据
迁移后会生成模型响应表,注意,生成的内外键关联需要手动添加(2.1版本),自动生成会有丢失情况。
例子:
from django.core.files.storage import FileSystemStorage
from django.db import models
class MediaFileModel(models.Model):
id = models.IntegerField(primary_key=True, auto_created=True)
title = models.CharField(max_length=50)
note = models.TextField(verbose_name='文件描述', blank=True, null=True)
file_size = models.FloatField(verbose_name='文件长度', blank=True, null=True)
# upload_to 指定文件存放的位置,这个位置是相对于settings.MEDIA_ROOT目录
# upload_to 也可以是可调用的函数对象,此函数返回一个文件存储的路径(相对于settings.MEDIA_ROOT)
file = models.FileField(verbose_name='文件', upload_to='files', storage=MediaFileStorage())
class Meta:
db_table = 'tb_media_file'
#几个注意点
#class Meta:
#db_table = 'app_file' #模型对应表名
def __str__(self):
return self.name #重写str
T: Templates?模版,主要负责模版渲染以及数据呈现。
????????需要注意的是模板组各个标签的属性以及继承,这样会省下不少事情,视图和模版数据交互的语法一定要清晰。
V: View视图,负责将数据显示在模版上的版块。
? ? ? ? 从模版处获取数据,GET,POST等方法,以及数据转化都在这里进行,最终返回HttpResponse,render,从模版中取到的值都在这里获取。
|