Models(模型)
通常情况下,一个Model对应数据库的一张数据表
Django中Models以类的形式表现它包含了一些基本字段以及数据的一些行为
编写Models
- 在应用根目录下创建models.py文件并导入models模块
- 生成数据表
- 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
完成之后的目录结构
- cmd命令行中进入manage.py同级目录:
创建模型类
打开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解析请求的流程