Django的MVT模式

Django的MVT模式

Django的MVT模式其实思想是跟MVC模式是一样的,只不过Django的说法不一样,M就是model,这里编写项目所需要的数据,也就是负责与数据库交互的部分,T就是template就是显示页面,V就是view,用来接收请求,调用数据,配置url,具体详细的可以在网上的其他博客有详细解释,我这里用代码来说明

我的整个项目结构是这样的:
在这里插入图片描述
template是模板文件,booktest是我的项目开发文件夹
booktest/models.py里面书写项目所需要的数据字段

models.py

from django.db import models

class bookinfo(models.Model):
    btitle = models.CharField(max_length=20)
    bpub_data = models.DateTimeField()

    def __str__(self):
        # btitle=str(self.btitle)
        return self.btitle


class HeroInfo(models.Model):
    hname = models.CharField(max_length=10)
    hgender = models.BooleanField()
    hcontent = models.CharField(max_length=1000)
    hbook = models.ForeignKey('bookinfo', on_delete=models.CASCADE)

    def __str__(self):
        hname=str(self.hname)
        return self.hname

这里就是对应着数据库的字段
urls.py

from django.conf.urls import url
from . import views

urlpatterns=[
    url(r'^index$',views.index),
    url(r'^(\d+)$',views.show)
]

views.py

from django.shortcuts import render
from django.http import *
from .models import *
def index(request):
    bookList=bookinfo.objects.all()
    content={'List':bookList}
    return render(request,'booktest/index.html',content)
    #return HttpResponse('hello world')
def show(request,id):
    book = bookinfo.objects.get(pk=id)
    herolist = book.heroinfo_set.all()
    context = {'list': herolist}
    return render(request, 'booktest/show.html', context)

urls.py和views.py定义了路由和调用数据,views.py里面调用的数据库字段是我已经写好的了

最后在template文件夹是我的模板文件
index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<ul>
    {% for book in List %}
<li><a href="{{ book.id }}">{{ book.btitle }}</a> </li>
    {% endfor %}
</ul>
</body>
</html>

show.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<ul>
    {%for hero in list%}
    <li>{{hero.hname}}</li>
    {%endfor%}
</ul>
</body>
</html>

这样就可以把数据库的数据传递到前台去

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值