django的开发流程
1、创建model
2、同步表结构到数据库
3、view里面写对应函数和逻辑 ,返回数据和html
4、修改html里面的内容,该替换的替换,该循环的循环
5、配置好url

model.py
生成数据库,并且articles外键是categories

from __future__ import unicode_literalsfrom django.db import models# Create your models here.
class Category(models.Model):name=models.CharField(verbose_name="cate",max_length=20)create_time=models.DateTimeField(verbose_name=' create_time',auto_now_add=True)update_time = models.DateTimeField(verbose_name='update_time', auto_now=True)class Article(models.Model):title = models.CharField(verbose_name="title", max_length=50)desc = models.CharField(verbose_name="describle", max_length=100)  # 255content = models.TextField(verbose_name="comment")show_count = models.IntegerField(verbose_name="times", default=0)category = models.ForeignKey(Category, on_delete=models.PROTECT, verbose_name="verison")create_time = models.DateTimeField(verbose_name="create_time", auto_now_add=True)  #update_time = models.DateTimeField(verbose_name="update_time", auto_now=True)  ##

admin加数据

from django.contrib import admin# Register your models here.
from . import models
admin.site.register(models.Category)admin.site.register(models.Article)

views.py
表明页面的结构,查询所有的数据,并返回给页面数据

from django.shortcuts import render
import  models
from django.http import HttpResponse
# Create your views here.
'''
def index(request):return HttpResponse(" welcome django")def indexhtml(request):return render(request,'index.html',locals())
'''
def index(request):return HttpResponse("welcome to django!")
def indexhtml(request):title = "rr"categories = models.Category.objects.all()articles = models.Article.objects.all()data = {"t":title,"categories":categories,"articles": articles}# return render(request,'index.html', locals() )return render(request,'index.html', data )
def category_article(request):categories = models.Category.objects.all()category_id = request.GET.get("id")category = models.Category.objects.get(id=category_id)articles = models.Article.objects.filter(category_id=category_id)return render(request,'category.html',locals())def article(request,id):article = models.Article.objects.get(id=id)return render(request,'detail.html',locals())

核心点:

访问网页时,
http://127.0.0.1:8000/index/


页面修改

<!doctype html>
<html lang="en">
<head><!-- Required meta tags --><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><meta name="referrer" content="origin"><!-- TDK and ICO --><title>Tend to Code_一个使用django和bootstrap搭建的个人博客_TendCode</title><meta name="description"content="TendCode是一个Django搭建的博客,本网站后端使用Django框架搭建,前端使用Bootstrap框架,主要分享博主在Python以及其他编程语言的学习心得。"><meta name="keywords" content="Python自学,Python爬虫,Django博客,Python web开发,个人博客"><!--站长验证--><link rel="shortcut icon" href="/static/blog/img/favicon.ico" type="image/x-icon"/><!-- Bootstrap and font-awesome CSS --><link href="https://cdn.bootcss.com/twitter-bootstrap/4.3.1/css/bootstrap.min.css" rel="stylesheet"><link href="https://cdn.bootcss.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"><script src="./static/js/headroom.min.js"></script><!-- blog CSS --><link href="./static/css/base.css" rel="stylesheet"><!--根据cookies判断是否启用暗色主题--></head>
<body>
<!--导航开始--><nav class="navbar navbar-expand-md bg-white fixed-top blog-navbar py-md-0"><a class="navbar-brand d-md-none d-lg-block" id="site-logo-name" href="/"><strong class="px-2">TendCode</strong></a><button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent"aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"><span class="navbar-toggler-icon"></span></button><div class="collapse navbar-collapse" id="navbarSupportedContent"><ul class="navbar-nav ml-auto"><li class="nav-item mr-2"><a class="nav-link py-md-3 active" href="/"><i class="fa fa-home mr-1"></i>首页<span class="sr-only">(current)</span></a></li><li class="nav-item mr-2"><a class="nav-link py-md-3 " href="./archive.html"><i class="fa fa-sitemap mr-1"></i>归档</a></li><form class="nav-item navbar-form mr-2 py-md-2" role="search" method="get" id="searchform"action="/search/"><div class="input-group"><input type="search" name="q" class="form-control rounded-0" placeholder="站内搜索" autocomplete="off"required=True><div class="input-group-btn"><button class="btn btn-info rounded-0" type="submit"><i class="fa fa-search"></i></button></div></div><!-- /input-group --></form></ul></div>
</nav><!--导航结束--><!--消息块--><!--回到顶部按钮-->
<div class="text-center" id="to-top"><i class="fa fa-chevron-up" id="btn-top" title="回到顶部"></i>
</div><!--主要内容块-->
<main><div class="container"><div class="row"><div class="col-lg-8"><div id="carouselExampleIndicators" class="carousel slide" data-ride="carousel"><ol class="carousel-indicators"><li data-target="#carouselExampleIndicators" data-slide-to="0" class="active"></li><li data-target="#carouselExampleIndicators" data-slide-to="1"></li><li data-target="#carouselExampleIndicators" data-slide-to="2"></li><li data-target="#carouselExampleIndicators" data-slide-to="3"></li></ol><div class="carousel-inner"><div class="carousel-item active"><a href="./detail.html"><img class="w-100" src="https://tendcode.com/cdn/article/180415/jiandan.png"alt="容器化部署博客(3)—— 5分钟完成项目迁移"></a></div><div class="carousel-item"><a href="/article/set-up-django-with-nginx-and-gunicorn/"><img class="w-100" src="https://tendcode.com/cdn/article/180415/jiandan.png"alt="在 Linux 服务器上使用 Nginx + Gunicorn 部署 Django 项目的正确姿势"></a></div><div class="carousel-item"><a href="/article/virtualenv-for-python/"><img class="w-100" src="https://tendcode.com/cdn/article/180415/jiandan.png"alt="Python虚拟环境Virtualenv分别在Windows和Linux上的安装和使用"></a></div><div class="carousel-item"><a href="/article/jiandan-meizi-spider/"><img class="w-100" src="https://tendcode.com/cdn/article/180415/jiandan.png" alt="煎蛋网妹子图爬虫"></a></div></div><a class="carousel-control-prev" href="#carouselExampleIndicators" role="button" data-slide="prev"><span class="carousel-control-prev-icon" aria-hidden="true"></span><span class="sr-only">Previous</span></a><a class="carousel-control-next" href="#carouselExampleIndicators" role="button" data-slide="next"><span class="carousel-control-next-icon" aria-hidden="true"></span><span class="sr-only">Next</span></a></div><div class="text-secondary font-weight-bold py-2 f-15 choice"><a class="pb-2  active" href="/"><i class="fa fa-bars mr-1"></i>时间排序</a></div><div class="summary-list">{% for article in articles %}<div class="media mb-1 mb-sm-2 p-2 p-lg-3"><div class="align-self-center mr-2 mr-lg-3 w-25 modal-open"><a href="./detail.html" target="_blank"><img class="w-100 article-img" src="https://tendcode.com/cdn/article/191029/python_shell.png"alt="{{ hello}}"></a></div><div class="media-body"><div class="text-muted mb-2 f-12"><img class="avatar"src="https://tendcode.com/media/avatar/2019/07/27/91ef76c6a7efce1b99717f97a851f3deb48f6510.png"alt="Hopetree"><span>Hopetree</span><span><i class="fa fa-calendar-times-o ml-2 mr-1"></i>{{ article.create_time }}</span></div><h2 class="mt-0 font-weight-bold text-info f-17"><a href="/article/{{ article.id }}/" target="_blank">{{article.title}} </a></h2><p class="d-none d-sm-block mb-2 f-15">之前公司的项目部署主要使用的是 ansible 编排,说到 ansible 就不得不提到强大的 jinja语法了。而后来公司又让各个服务把部署方式改成 SDK 安装的方式,这个转变就引发了一些重复利用文件的问题,最后的解决办法就是使用 yaml 和 jinj</p><p class="d-block d-sm-none mb-2 f-15">之前公司的项目部署主要使用的是 ansible 编排,说到 ansible 就不得不提到强大的 jinja语法了。而后来公司又</p><div class="text-muted mb-0 f-12"><a class="cate" href="/category/hello-python/" title="查看当前分类下更多文章"><i class="fa fa-book mr-1"></i>Python 基础</a><span><i class="fa fa-eye ml-2 mr-1"></i>226</span><a href="/article/yaml_and_jinja2/#comment-block" target="_blank" title="查看文章评论"><i class="fa fa-comments ml-2 mr-1"></i>8</a></div></div></div>{% endfor %}</div><div class="text-center mt-2 mt-sm-1 mt-md-0 mb-3 f-16"><span class="text-secondary" title="当前页已经是首页">上一页</span><span class="mx-2">第&nbsp;1&nbsp;/&nbsp;4&nbsp;页</span><a class="text-success" href="?page=2">下一页</a></div></div><div class="col-lg-4"><!--个人空间--><div class="card border-0 rounded-0 px-3 mb-2 mb-md-3 d-none d-lg-block" id="home-card"><div class="card-header bg-white px-0"><strong><i class="fa fa-paper-plane mr-2 f-17"></i>个人空间</strong></div><div class="card-body px-0 pt-3 pb-1"><div class="row text-center"><div class="col"><a href="https://github.com/Hopetree" target="_blank" title="进入博主的Github查看博客源码"><img style="max-width:40px" alt="博主的github" src="https://tendcode.com/static/blog/img/github.png"><p class="mt-2">Github</p></a></div><div class="col"><a href="/timeline/" target="_blank" title="查看网站建站历程"><img style="max-width:40px" alt="网站的建站历程" src="https://tendcode.com/static/blog/img/blog.png"><p class="mt-2">Timeline</p></a></div><div class="col"><a href="/timeline/" target="_blank" title="查看网站建站历程"><img style="max-width:40px" alt="网站的建站历程" src="https://tendcode.com/static/blog/img/blog.png"><p class="mt-2">Timeline</p></a></div></div></div></div><!--文章分类--><div class="card border-0 rounded-0 px-3 mb-2 mb-md-3" id="category-card"><div class="card-header bg-white px-0"><strong><i class="fa fa-book mr-2 f-17"></i>文章分类</strong></div><ul class="list-group list-group-flush f-16">{% for category in categories %}<li class="list-group-item d-flex justify-content-between align-items-center pr-2 py-2"><a class="category-item" href="/category?id={{ category.id }}" title="查看【CI/CD】分类下所有文章">{{ category.name }}</a></li>
for{% endfor %}</ul></div><!--标签云--><div class="card border-0 rounded-0 px-3 mb-2 mb-md-3" id="tag-card"><div class="card-header bg-white px-0"><strong><i class="fa fa-tags mr-2 f-17"></i>标&nbsp;签&nbsp;云</strong></div><div class="card-body px-0 py-3"><div class="tag-cloud"><a href="/tag/Virtualenv/" class="tags f-16" id="tag-1"title="【Virtualenv】标签下有3篇文章">Virtualenv</a><a href="/tag/Web-development/" class="tags f-16" id="tag-2"title="【后端开发】标签下有10篇文章">后端开发</a><a href="/tag/python-crawler/" class="tags f-16" id="tag-3"title="【Python爬虫】标签下有8篇文章">Python爬虫</a><a href="/tag/MD5/" class="tags f-16" id="tag-4"title="【MD5加密】标签下有2篇文章">MD5加密</a><a href="/tag/Requests/" class="tags f-16" id="tag-5"title="【Requests】标签下有4篇文章">Requests</a><a href="/tag/threading/" class="tags f-16" id="tag-6"title="【多线程】标签下有4篇文章">多线程</a><a href="/tag/multiprocessing/" class="tags f-16" id="tag-7"title="【多进程】标签下有2篇文章">多进程</a><a href="/tag/Django/" class="tags f-16" id="tag-8"title="【Django】标签下有10篇文章">Django</a><a href="/tag/MySQL/" class="tags f-16" id="tag-9"title="【MySQL】标签下有4篇文章">MySQL</a><a href="/tag/database/" class="tags f-16" id="tag-10"title="【数据库】标签下有2篇文章">数据库</a><a href="/tag/Nginx/" class="tags f-16" id="tag-11"title="【Nginx】标签下有4篇文章">Nginx</a><a href="/tag/Gunicorn/" class="tags f-16" id="tag-12"title="【Gunicorn】标签下有1篇文章">Gunicorn</a><a href="/tag/Redis/" class="tags f-16" id="tag-13"title="【Redis】标签下有2篇文章">Redis</a><a href="/tag/django-redis/" class="tags f-16" id="tag-14"title="【django-redis】标签下有1篇文章">django-redis</a><a href="/tag/cache/" class="tags f-16" id="tag-15"title="【Cache】标签下有1篇文章">Cache</a><a href="/tag/Linux/" class="tags f-16" id="tag-16"title="【Linux】标签下有8篇文章">Linux</a><a href="/tag/crontab/" class="tags f-16" id="tag-17"title="【crontab】标签下有1篇文章">crontab</a><a href="/tag/PhantomJS/" class="tags f-16" id="tag-18"title="【PhantomJS】标签下有1篇文章">PhantomJS</a><a href="/tag/selenium/" class="tags f-16" id="tag-19"title="【Selenium】标签下有2篇文章">Selenium</a><a href="/tag/queue/" class="tags f-16" id="tag-20"title="【Queue】标签下有1篇文章">Queue</a><a href="/tag/configparser/" class="tags f-16" id="tag-21"title="【configparser】标签下有1篇文章">configparser</a><a href="/tag/paramiko/" class="tags f-16" id="tag-22"title="【paramiko】标签下有1篇文章">paramiko</a><a href="/tag/SSH/" class="tags f-16" id="tag-23"title="【SSH】标签下有3篇文章">SSH</a><a href="/tag/shell/" class="tags f-16" id="tag-24"title="【shell】标签下有4篇文章">shell</a><a href="/tag/Scrapy/" class="tags f-16" id="tag-25"title="【Scrapy】标签下有2篇文章">Scrapy</a><a href="/tag/docker/" class="tags f-16" id="tag-26"title="【Docker】标签下有10篇文章">Docker</a><a href="/tag/docker-compose/" class="tags f-16" id="tag-27"title="【docker-compose】标签下有5篇文章">docker-compose</a><a href="/tag/docker-build/" class="tags f-16" id="tag-28"title="【容器化】标签下有8篇文章">容器化</a><a href="/tag/centos/" class="tags f-16" id="tag-29"title="【CentOS】标签下有2篇文章">CentOS</a><a href="/tag/pip/" class="tags f-16" id="tag-30"title="【pip】标签下有1篇文章">pip</a><a href="/tag/argparse/" class="tags f-16" id="tag-31"title="【argparse】标签下有1篇文章">argparse</a><a href="/tag/click/" class="tags f-16" id="tag-32"title="【Click】标签下有1篇文章">Click</a><a href="/tag/OAuth2/" class="tags f-16" id="tag-33"title="【OAuth2.0】标签下有1篇文章">OAuth2.0</a><a href="/tag/django-allauth/" class="tags f-16" id="tag-34"title="【django-allauth】标签下有1篇文章">django-allauth</a><a href="/tag/git/" class="tags f-16" id="tag-35"title="【Git】标签下有2篇文章">Git</a><a href="/tag/ci-cd/" class="tags f-16" id="tag-36"title="【CI/CD】标签下有6篇文章">CI/CD</a><a href="/tag/Jenkins/" class="tags f-16" id="tag-37"title="【Jenkins】标签下有6篇文章">Jenkins</a><a href="/tag/Vue/" class="tags f-16" id="tag-38"title="【Vue.js】标签下有3篇文章">Vue.js</a><a href="/tag/ansible/" class="tags f-16" id="tag-39"title="【Ansible】标签下有1篇文章">Ansible</a><a href="/tag/jinja2/" class="tags f-16" id="tag-40"title="【jinja2】标签下有1篇文章">jinja2</a><a href="/tag/yaml/" class="tags f-16" id="tag-41"title="【YAML】标签下有1篇文章">YAML</a></div></div></div><!--友链--><div class="d-none d-lg-block"><div class="card border-0 rounded-0 px-3 mb-2 mb-md-3" id="friends-card"><div class="card-header bg-white px-0"><strong><i class="fa fa-link mr-2 f-17"></i>友情链接</strong></div><div class="card-body px-0 py-3"><div class="tool-list"><div class="w-50 float-left text-center mb-2"><div class="mx-2"><a href="https://github.com/Hopetree/izone" title="izone 博客项目的源代码"target="_blank">博客源码</a></div></div><div class="w-50 float-left text-center mb-2"><div class="mx-2"><a href="https://frostming.com" title="一个基于 Flask 开发的博客" target="_blank">Frost&#39;s Blog</a></div></div><div class="w-50 float-left text-center mb-2"><div class="mx-2"><a href="https://zmrenwu.com" title="Django 博客教程分享者" target="_blank">追梦人物</a></div></div><div class="w-50 float-left text-center mb-2"><div class="mx-2"><a href="https://www.dusaiphoto.com/" title="Django 搭建的博客,分享博客教程"target="_blank">杜赛的个人网站</a></div></div><div class="w-50 float-left text-center mb-2"><div class="mx-2"><a href="https://www.jerrycoding.com/" title="Jerry 的个人博客" target="_blank">Jerry Coding</a></div></div><div class="w-50 float-left text-center mb-2"><div class="mx-2"><a href="https://boywithacoin.cn/" title="Stray_Camel的个人技术博客" target="_blank">Stray_Camel</a></div></div></div></div></div></div></div></div></div>
</main>
<!-- Optional JavaScript -->
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
<!--js cookie 插件-->
<script src="./static/js/js.cookie.min.js?v=20191123.12"></script>
<script src="https://cdn.bootcss.com/popper.js/1.14.7/umd/popper.min.js"></script>
<script src="https://cdn.bootcss.com/twitter-bootstrap/4.3.1/js/bootstrap.min.js"></script>
<script>$(function () {var myElement = document.querySelector(".blog-navbar");var headroom = new Headroom(myElement);headroom.init()});
</script>
<script src="./static/js/base.js?v=20191123.0909890"></script><footer class="container-fluid mt-4 py-0"><div class="card-body text-center px-0 f-14"><p class="card-text mb-1">Copyright&nbsp;&copy;&nbsp;<span id="year-info"></span>&nbsp;Powered&nbsp;by&nbsp;Django.</p></div>
</footer>
</body>
</html>

页面跳转


跳转带传输参数的

Django视图优化(页面显示以及页面跳转)相关推荐

  1. Java swing简易浏览器(其一)页面显示,超链接跳转与手动输入URL跳转

    [Java swing简易浏览器(其一)页面显示,超链接跳转与手动输入URL跳转] [Java swing简易浏览器(其二)前进后退与收藏夹实现] [java swing 简易浏览器(其三)下载器,智 ...

  2. 后台服务器控件点击跳转另一页面显示本页面

    <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Tex ...

  3. Python Django开发案例:显示登录页面

  4. html 在ie下显示黑屏,为什么IE浏览器打开时先黑屏一下,然后显示出来页面,显示的页面很模糊,并且界面图标也有阴影?...

    [我的答案使用已久了] 1.桌面上单击右键----排列鼠标-----在桌面上锁定Web 项目 前面的勾去掉就行了. 2.右键点"我的电脑",左键点"属性".&q ...

  5. 需要某个字体包才能正确显示此页面_[三分钟小文]前端性能优化-页面加载速度优化...

    本期内容请记住一个核心:JavaScript很快,DOM很慢 阅读本文您将收获: 从用户输入URL到看得到页面的过程 页面渲染过程 在页面加载层级的性能优化 用户看到页面之前都经历了什么 这一部分是面 ...

  6. easyUI分页中,如何实现页面跳转,再返回时,仍然到跳转前页数。(含页面显示条数)

    easyUI中,分页情况下,跳转到其他页面修改数据,再返回时,相当于重新打开此页面,即显示第一页. 这样很不方便.故提出跳转回修改前的页面的需求. 通过网上搜索,了解到实现页面跳转回去的基本原理是:传 ...

  7. 微信小程序-学生登录后跳转-显示教师页面信息

    1.页面跳转. //页面跳转wx.redirectTo({url: '../teachers/teachers' //跳转到教师页面}) 2.显示老师页面信息 wxml中 <view class ...

  8. 页面显示格式化的时间、倒计时效果、学成在线案例(创建、添加节点)、学生信息表(重点)、5秒钟之后跳转页面(location.href应用)、学生信息表(页面刷新数据不丢失)(重点)——API练习案例

    目录 1. 页面显示格式化的时间 2. 倒计时效果 3. 学成在线案例(创建节点.添加节点) 4.学生信息表案例(重点) 5. 5秒钟之后跳转页面(location.href的应用) 6. 学生信息表 ...

  9. Chrome访问https页面显示ERR_CERT_INVALID,且无法跳过继续访问 本地证书过期处理

    在访问网页的时候,因为浏览器自身的安全设置问题, 对于https的网页访问会出现安全隐私的提示, 甚至无法访问对应的网站,尤其是chrome浏览器, 因此本文主要讲解如何设置chrome浏览器的设置, ...

最新文章

  1. 我的这10年——从机械绘图 到 炼油 到 微软MVP 的华丽转身
  2. 结对-贪吃蛇-测试过程
  3. golang(5)使用beego 开发 api server 和前端同学拆分开发,使用swagger
  4. WebRequestDataBinder实现将请求参数映射为POJO对象
  5. TestDriven.NET 2.0——单元测试的好助手(转)
  6. 指纹匹配算法matlab,指纹识别算法matlab程序
  7. Photoshop 2020 新建文档窗口闪烁,点击创建按钮无效的解决办法(继续使用新版)
  8. 神舟笔记本风扇偏移调多少_神舟战神怎么调节风扇我们该办正事了
  9. 微型计算机登录密码忘记了怎么办,一种基于微型计算机的密码锁的制作方法
  10. 一英寸芯片大小_(整理)CCD芯片尺寸和镜头焦距计算方法.
  11. VB快速注销/重启/关闭计算机
  12. 重学计算机网络(三) - DHCP IP的孽缘
  13. 滤波总结+应用举例1(kalman滤波、序贯滤波、UD分解滤波、遗忘滤波、信息滤波、自适应滤波)(内含matlab代码)
  14. Sql Server 数据库 表增加列字段
  15. Ansoft HFSS____百度百科
  16. 循序渐进:用python做金融量化分析(四)双均线系统策略
  17. 显示出现计算机代码,电脑出现蓝屏并提示代码:c0000218 的原因分析
  18. android音乐播放器开发在线加载歌词,android自定义view面试
  19. 深度学习基础算法梳理
  20. 【毕业N年系列】 毕业第四年

热门文章

  1. 问题 D: 排列棋子
  2. Redis教程--redis分布式锁+企业解决方案+redis实战
  3. 2017年2月17日
  4. 易理解的拜占庭将军问题——深入剖析
  5. 2021年美容师(初级)考试内容及美容师(初级)复审考试
  6. 使用Maven构建WebApp项目
  7. 【PMP】财务测量指标ROI、PBP、NPV、IRR、BCR
  8. 南京大学计算机科学与技术系公开课,讲座 南京大学计算机科学与技术系.ppt
  9. cdoj 1322 柱爷把妹(吃惊高清重制版)
  10. 快速搭建ELK日志分析系统