django框架两个使用模板实例

前言

这篇文章主要介绍了django框架使用模板方法,结合两个具体实例形式详细分析了Django框架模板的相关使用技巧与操作注意事项,需要的朋友可以参考下。

我在这里做一次集中式分享,如果有喜欢的内容,尽管拿去,如果遇到什么问题,请在下面给我留言即可!

本文实例讲述了django框架使用模板。分享给大家供大家参考,具体如下:

models.py:

from django.db import models
# Create your models here.
class Book(models.Model):
  title=models.CharField(max_length=32,unique=True)
  price=models.DecimalField(max_digits=8,decimal_places=2,null=True)
  pub_date=models.DateField()
  publish=models.CharField(max_length=32)
  is_pub=models.BooleanField(default=True)
  authors=models.ManyToManyField(to="Author")
class AuthorDetail(models.Model):
  gf=models.CharField(max_length=32)
  tel=models.CharField(max_length=32)
class Author(models.Model):
  name=models.CharField(max_length=32)
  age=models.IntegerField()
  # 与AuthorDetail建立一对一的关系
  # ad=models.ForeignKey(to="AuthorDetail",to_field="id",on_delete=models.CASCADE,unique=True)
  #OneToOneField 表示创建一对一关系。on_delete=models.CASCADE 表示级联删除。假设a表删除了一条记录,b表也还会删除对应的记录
  ad=models.OneToOneField(to="AuthorDetail",to_field="id",on_delete=models.CASCADE,)

urls.py:

from django.conf.urls import url
from django.contrib import admin
from app01 import views
urlpatterns = [
  url(r‘^admin/‘, admin.site.urls),
  # url(r‘‘,views.index),#这一条不能放上面,会造成死循环
  url(r‘index/$‘,views.index),
  url(r‘books/add/$‘,views.add),
  url(r‘books/manage/‘,views.manage),
  url(r‘books/delete/(?P<id>\d+)‘,views.delete),
  url(r‘books/modify/(?P<id>\d+)‘,views.modify),
]

views.py:

from django.shortcuts import render,HttpResponse
from app01 import models
# Create your views here.
def index(request):
  ret=models.Book.objects.all().exists()#True 和 False
  if ret:
    book_list=models.Book.objects.all()
    return render(request,‘index.html‘,{‘book_list‘:book_list})
  else:
    # hint=‘<script>alert("没有书籍,请添加书籍");window.location.href="/books/add" rel="external nofollow" rel="external nofollow" </script>‘
    hint=‘<script>alert("没有书籍,请添加书籍");window.location.href="/books/add/" rel="external nofollow" </script>‘
    return HttpResponse(hint)
def add(request):
  if request.method=="POST":
    title=request.POST.get("title")
    price=request.POST.get("price")
    pub_date=request.POST.get("pub_date")
    publish=request.POST.get("publish")
    is_pub=request.POST.get("is_pub")
    #插入一条记录
    obj=models.Book.objects.create(title=title,price=price,publish=publish,pub_date=pub_date,is_pub=is_pub)
    print(obj.title)
    hint = ‘<script>alert("添加成功");window.location.href="/index/" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" </script>‘
    return HttpResponse(hint)
  return render(request,"add.html")
def manage(request):
  ret=models.Book.objects.all().exists()
  print(ret)
  if ret:
    book_list=models.Book.objects.all()
    return render(request,"manage.html",{"book_list":book_list})
  else:
    hint=‘<script>alert("没有书籍,请添加书籍");window.location.href="/books/add" rel="external nofollow" rel="external nofollow" </script>‘
    return HttpResponse(hint)
def delete(request,id):
  ret=models.Book.objects.filter(id=id).delete()
  print(‘删除记录%s‘%ret)
  if ret[0]:
    hint=‘<script>alert("删除成功");window.location.href="/index/" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" </script>‘
    return HttpResponse(hint)
  else:
    hint=‘<script>alert("删除失败");window.location.href="/index/" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" </script>‘
    return HttpResponse(hint)
def modify(request,id):
  if request.method=="POST":
    title=request.POST.get(‘title‘)
    price = request.POST.get("price")
    pub_date = request.POST.get("pub_date")
    publish = request.POST.get("publish")
    is_pub = request.POST.get("is_pub")
    # 更新一条记录
    ret = models.Book.objects.filter(id=id).update(title=title, price=price, publish=publish, pub_date=pub_date,
                            is_pub=is_pub)
    print(‘更新记录%s‘%ret)
    if ret: # 判断返回值为1
      hint = ‘<script>alert("修改成功");window.location.href="/index/" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" </script>‘
      return HttpResponse(hint) # js跳转
    else: # 返回为0
      hint = ‘<script>alert("修改失败");window.location.href="/index/" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" </script>‘
      return HttpResponse(hint) # js跳转
  book=models.Book.objects.get(id=id)
  return render(request,"modify.html",{"book":book})

  

原文地址:https://www.cnblogs.com/sq1995liu/p/12132988.html

时间: 2024-11-05 20:39:50

django框架两个使用模板实例的相关文章

Django框架之templates(模板)系统

一.什么是模板? 只要是在html里面有模板语法就不是html文件了,这样的文件就叫做模板. 二.常用语法 只需要记两种特殊符号: {{  }}和 {% %} 变量相关的用{{}},逻辑相关的用{%%}. 变量 在Django的模板语言中按此语法使用:{{ 变量名 }}. 当模版引擎遇到一个变量,它将计算这个变量,然后用结果替换掉它本身.(可以理解为模板页面中先进行  “{{  }}和 {% %}”  中对应的数据的替换) 点(.)在模板语言中有特殊的含义,用来获取对象的相应属性值. 内置Fil

Django框架(八)—— 模板层:模板导入、模板继承、静态文件

模板导入.继承.静态文件 一.模板导入 要复用一个组件,可以将该组件写在一个文件中,在使用的时候导入即可 在模板中使用 1.语法 {% include '模板名字' %} 2.使用 ad.html页面 <div class="adv"> <div class="panel panel-default"> <div class="panel-heading"> <h3 class="panel-t

Django框架学习----视图与模板(详情页的上下篇文章跳转跳转)

我们实现首页到详情页的跳转之后,接下来就是实现详情的上下篇文章的跳转 第一步:挑选按钮 把选中的按钮复制到我们的detail页面里面,并用一个div包含起来,如下图: 在上图中我定义了两个变量,他现在是不存在的,我们需要在views,py里面把这两个变量赋值之后并且映射过来.如下图: 写好之后重启一下你的项目,你的详情页就拥有了上下篇文章跳转功能了 原文地址:https://www.cnblogs.com/humiao-0626/p/12662555.html

Django框架学习----视图与模板(最新文章实现)

剩下的就是我们的最后一个功能了,最新文章的跳转 我们先在view.py里面定义一个接受最新五篇文章的变量 top5_article_list,并映射到index页面里面 最后只需要在index.html文件里面吧之前的所有文章的变量换成我们刚刚定义的top5_article_list就可以了 就此django入门结束了 原文地址:https://www.cnblogs.com/humiao-0626/p/12662994.html

讲述了Django框架模板的使用方法

文章来源: 敏而好学论坛 嗨学网www.piaodoo.com 欢迎大家相互学习本文实例讲述了Django框架模板的使用方法.分享给大家供大家参考,具体如下: 创建模板文件夹 在项目下床架一个模板文件夹 在templates下面为了区分是哪一个应用的模板再建一个与应用同名的文件夹. 在setting.py的TEMLATES里配置模板文件的路径 在视图函数里return reder def index(request):#视图函数必须有一个参数 #进行处理,和M和T进行交互... # return

Django框架简介及模板Template

Django框架简介 MVC框架和MTV框架 MVC,全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View)和控制器(Controller),具有耦合性低.重用性高.生命周期成本低等优点. 想要更详细的了解MVC模式? >> 点我 Django框架的设计模式借鉴了MVC框架的思想,也是分成三部分,来降低各个部分之间的耦合性. Django框架的不同之处在于它拆分的三部分为:Model(模型).Templ

Django框架之第三篇模板语法

Django框架之第三篇模板语法(重要!!!) 一.什么是模板? 只要是在html里面有模板语法就不是html文件了,这样的文件就叫做模板. 二.模板语法分类 一.模板语法之变量:语法为 {{ }}: 在 Django 模板中遍历复杂数据结构的关键是句点字符  .(也就是点) views.py def index(request): name = "hello haiyan" i = 200 l = [11,22,33,44,55] d = {"name":&quo

Django框架之模板

Django框架之模板层 什么是模板 需要返回给浏览器的html文件 Django的模板 = HTML代码 + 模板语言 模板语言 有与我们直接返回html页面的话,那他只是一个静态页面无法实现前后端数据交互,那么我们就需要经过页面渲染,让静态文件呈现出动态页面的效果. 模板语言的变量 如果我们需要将后端的数据传递到前端页面渲染,就需要用到模板语言中的变量 用法:通过{{}}来获取后端传递过来的数据 变量支持的数据类型: int float str dict list tuple set boo

Django框架-Django模板(template)系统

Django模板系统 官方文档 一.什么是模板? 只要是在html里面有模板语法就不是html文件了,这样的文件就叫做模板. 二.模板语法分类 Django模板中主要有两种特殊的符号: {{ }}   &    {%  % } {{}} 表示变量,在模板渲染的时候替换成后台传过来的值,{% %}表示逻辑相关的操作. 2.1.模板语法之变量:语法为 {{ 变量名 }}: 在 Django 模板中遍历复杂数据结构的关键是句点字符  .(也就是点),用来获取对象的相应属性值 views.py def