django的基础构架知识

Posted dion至君

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django的基础构架知识相关的知识,希望对你有一定的参考价值。

在settings.py文件中,settings文件中顶部的INSTALLED_APPS设置项。它列出了所有的项目中被激活的Django应用(app)。你必须将你自定义的app注册在这里。每个应用可以被多个项目使用,并且可以打包和分发给其他人在他们的项目中使用。

 

默认情况,INSTALLED_APPS中会自动包含下列条目,它们都是Django自动生成的:

  • django.contrib.admin:admin管理后台站点
  • django.contrib.auth:身份认证系统
  • django.contrib.contenttypes:内容类型框架
  • django.contrib.sessions:会话框架
  • django.contrib.messages:消息框架
  • django.contrib.staticfiles:静态文件管理框架

这些应用文件需要建立一些数据库表,我们需要在终端中使用命令创建数据库表:

$ python manage.py migrate

migrate命令将遍历INSTALLED_APPS设置中的所有项目,在数据库中创建对应的表,并打印出每一条动作信息

 

 

Django模型model

模型本质上就是数据库表的布局,再附加一些元数据。

Django通过自定义Python类的形式来定义具体的模型,每个模型的物理存在方式就是一个Python的类Class,每个模型代表数据库中的一张表,每个类的实例代表数据表中的一行数据,类中的每个变量代表数据表中的一列字段。Django通过模型,将Python代码和数据库操作结合起来,实现对SQL查询语言的封装。

技术分享图片
# polls/models.py

from django.db import models

class Question(models.Model):
    question_text = models.CharField(max_length=200)
    pub_date = models.DateTimeField(date published)

class Choice(models.Model):
    question = models.ForeignKey(Question, on_delete=models.CASCADE)
    choice_text = models.CharField(max_length=200)
    votes = models.IntegerField(default=0)
实例

这个例子中,每一个字段都是Field类的一个实例,例如用于保存字符数据的CharField和用于保存时间类型的DateTimeField,它们告诉Django每一个字段保存的数据类型。

 最后请注意,我们使用ForeignKey定义了一个外键关系。它告诉Django,每一个Choice关联到一个对应的Question(注意要将外键写在‘多’的一方)。Django支持通用的数据关系:一对一,多对一和多对多

 

参考:http://www.liujiangblog.com/course/django/88

以上是关于django的基础构架知识的主要内容,如果未能解决你的问题,请参考以下文章

框架[Hibernate]构架知识点常见操作

django基础知识之定义模板:

PyTorch基础——机器翻译的神经网络实现

django框架的基础知识点《贰》

django基础知识之验证码:

如何在 Django Summernote 中显示编程片段的代码块?