当前位置: 代码迷 >> 综合 >> django学习--models
  详细解决方案

django学习--models

热度:22   发布时间:2023-12-16 04:53:55.0

Models(模型)

通常情况下,一个Model对应数据库的一张数据表
Django中Models以类的形式表现它包含了一些基本字段以及数据的一些行为

编写Models

  1. 在应用根目录下创建models.py文件并导入models模块
  2. 生成数据表
    • cmd命令行中进入manage.py同级目录:
      执行:python manage.py makemigrations app名(可选)
    • 或者右键—>run as—>run configurations—>在Arguments那块输入makemigrations article—>点击run即可
    • 再执行:python manage.py migrate
    • 执行:python manage.py sqlmigrate 应用名 文件id 查看SQL语句
      例如:python manage.py sqlmigrate article 0001
      完成之后的目录结构
      这里写图片描述

创建模型类

打开models.py

# -*- coding: utf-8 -*-
from __future__ import unicode_literals# 导入models模块
from django.db import models# Create your models here.
# 在这里创建你的models代码class Article(models.Model):# 字段名title = models.CharField(max_length=32,default='Title')desc = models.CharField(max_length=50,default='description')content = models.TextField(max_length=100,null=True)

重新配置views.py

# -*- coding: utf-8 -*-
from __future__ import unicode_literalsfrom django.shortcuts import render# 导入HttpRequest模块
from django.http import HttpResponse# 导入views模块
from . import models # Create your views here.
def index(request):# 这里改用title查询# 根据 title查询结果返回一条#article = models.Article.objects.get(title='Hello')#获得所有的内容,相当于select * from articlearticle = models.Article.objects.all()print(article)# render()第三个参数返回一个字典可以包含一个对象return HttpResponse(render(request,'article/index.html',{
   'article':article}))

调用返回的结果

在试图页面使用服务器返回的数据库查询结果
注意:使用{ { }}里面填写代码

<html><head><title>Article</title></head><body><h1>Hello,Article!</h1><hr>{% for ar in article %}<ul><li>{
   {ar.title}}</li><li>{
   {ar.desc}}</li><li>{
   {ar.content}}</li></ul><hr/>{% endfor %}</body>
</html>

结果

这里写图片描述

总结

来一张图解释django解析请求的流程
这里写图片描述