Django
学习中的小菜鸟.
这个作者很懒,什么都没留下…
展开
-
Django - 创建一个Web投票应用 -自定义admin
目录自定义后台表单修改admin表单默认排序给字段添加标题引入关联自定义后台表单修改admin表单默认排序from django.contrib import adminfrom .models import Questionclass QuestionAdmin(admin.ModelAdmin): fields = ['pub_date', 'question_text']admin.site.register(Question, QuestionAdmin)给字段添加标题原创 2020-12-29 12:38:47 · 64 阅读 · 0 评论 -
Django - 创建一个Web投票应用 - 静态文件
这里写目录标题创建静态文件目录引入静态文件三级目录创建静态文件目录在刚才的static目录中新建一个polls子目录,再在该子目录中创建一个style.css文件li a { color: green;}引入静态文件{% load static %} # 这一行放到文件最顶部# 这一行放到head标签中<link rel="stylesheet" type="text/css" href="{% static 'polls/style.css' %}"> {原创 2020-12-29 12:00:07 · 58 阅读 · 1 评论 -
Django - 创建一个Web投票应用 - 测试
目录编写测试程序发现BUG创建一个测试发现这个BUG运行测试程序执行流程编写测试程序发现BUG在Question.was_published_recently()方法的返回值中, 我们的需求是最近的一天发布的时候返回True, 然而在未来的日期发布的时候也返回True.创建一个测试发现这个BUGimport datetimefrom django.test import TestCasefrom django.utils import timezonefrom .models import原创 2020-12-29 11:49:19 · 111 阅读 · 0 评论 -
Django - 创建一个Web投票应用 - 表单和类视图
这里写目录标题表单修改vote视图当对某个问题投票后, vote()视图重定向到了问卷的结果显示页面模板表单detail.html<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title></head><body> <h1>{{ question.ques原创 2020-12-29 10:31:57 · 160 阅读 · 0 评论 -
Django - 创建一个Web投票应用 - 视图和模板
目录编写视图配置路由修改index视图, 根据发布日期显示最近的5个投票问卷创建模板系统现在index视图没有传数据到前端 , 修改index视图, 让index.html文件生效快捷方式返回404错误修改detail模板删除模板中硬编码的URLSURL names的命名空间然后把代码修改的严谨一些编写视图from django.shortcuts import renderfrom django.http import HttpResponsedef index(request): r原创 2020-12-28 18:21:32 · 225 阅读 · 0 评论 -
Django - 创建一个Web投票应用 - 模型
目录数据库配置创建模型使用Django提供的数据库访问API访问数据库admin后台管理站点创建管理员用户注册投票应用数据库配置配置MySQL之前, 首先安装mysqlclient模块 : pip install mysqlclientDATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'HOST': '127.0.0.1', 'PORT': '3306',原创 2020-12-28 16:27:26 · 90 阅读 · 0 评论 -
Django - 表单
目录URL相关信息二级目录三级目录URL相关信息HttpRequest对象包含当前请求URL的一些信息.request.path : 除域名以外的请求路径request.get_host() : 主机名(域名)request.get_full_path() : 请求路径request.is_secure() : 如果通过HTTPS访问, 则此方法返回True, 否则返回False.request.META : 返回一个字典, 包含了所有本次HTTP请求的Header信息一 原理区别二级目录原创 2020-12-27 14:45:15 · 62 阅读 · 0 评论 -
Django - 模版 - 补充
目录什么是模板系统变量模板标签for标签if标签ifequal注释过滤器一些常用的过滤器如何使用模板系统什么是模板系统模板是一个文本, 用于分离文档的表现形式和内容.变量被大括号和百分号包围的文本称为变量(例如 {% person_name %})模板标签for标签被大括号和百分号包围的文本(例如 : {% for item in itme_list %}).if标签例如 : {% if ordered_warranty %}.ifequal{% ifequal %} 标原创 2020-12-27 13:19:02 · 148 阅读 · 0 评论 -
Django - ORM简介
目录什么是ORM框架Django基于ORM框架,什么是ORM框架Object : 对象里面的类Relations : 关系数据库中的表Mapping : 映射, 建立类和表的对应关系建立了对应的关系以后, 通过操作类和对象, 操作对应的数据库表,...原创 2020-12-23 10:58:04 · 107 阅读 · 1 评论 -
Django - HttpRequest
目录HttpRequestHttpRequest对象的属性HttpRequest对象的方法当一个页面被请求时, Django创建一个包含请求元数据的HttpRequest对象, 然后Django调入合适的视图, 把HttpRequest作为视图函数的第一个参数传入, 每个视图都有返回一个HttpResponse对象.HttpRequestHttpRequest表示来自某客户端的一个单独的HTTP请求HttpRequest对象的属性path : 表示提交请求页面完整地址的字符串, 不包括域名原创 2020-12-21 17:50:26 · 475 阅读 · 0 评论 -
Django - 热门博客阅读及缓存提速
目录获取今天热门博客(前7条)获取今天热门博客方法引用获取今天热门博客方法获取昨天热门博客(前7条)获取昨天热门博客方法引用获取昨天热门博客方法使用annotate分组获取今天热门博客(前7条)获取今天热门博客方法utils.py# 获取今天的热门数据def get_today_hot_read_detail(content_type): today = timezone.now().date() read_details = ReadDetail.objects.filter(c原创 2020-12-20 18:05:57 · 77 阅读 · 0 评论 -
Django - 阅读计数和显示
目录统计每天记录数添加统计每天记录数模型统计方法get_or_create使用get_or_create替换原来的方法统计前七天的阅读数使用timedelta聚合函数统计方法首页引用统计方法使用highcharts图表显示阅读量统计每天记录数添加统计每天记录数模型# 记录每一天, 每一篇博客的阅读数class ReadDetail(models.Model): date = models.DateField(default=timezone.now) read_num = model原创 2020-12-20 13:12:50 · 189 阅读 · 1 评论 -
Django - 阅读计数优化
目录计数功能独立创建一个模型, 和blog模型进行外键关联同步数据库修改+1方法使用app计数ContentType创建一个app用来计数在模型里面添加contenttype组件注册app同步数据库获取博客阅读数的方法博客阅读数 +1 方法计数功能独立创建一个模型, 和blog模型进行外键关联# 阅读计数class ReadNum(models.Model): read_num = models.IntegerField(default=0) blog = models.OneToO原创 2020-12-19 21:47:26 · 77 阅读 · 1 评论 -
Django - ContentType
目录什么是ContentTypeContentType组件应用查看 ContentType的内容ContentType实例提供的接口什么是ContentTypeDjango 包含一个 contenttypes应用程序, 该应用程序可以跟踪Django驱动的项目中安装的所有模型, 并提供了用于处理模型的高级通用接口当创建一个django项目时,可以看到在默认的INSTALL_APPS已经包含了django.contrib.contenttypes。ContentType组件应用在model中定原创 2020-12-19 20:35:58 · 414 阅读 · 1 评论 -
Django - 博客阅读简单计数
目录简单计数处理方法修改模型添加 + 1 方法修改前端页面自定义计数规则设置cookie简单计数处理方法Blog模型添加数字字段记录每次有人打开, 记录数+1修改模型# 博客阅读数readed_num = models.IntegerField(default=0)添加 + 1 方法views.pyblogs.readed_num += 1 blogs.save()这种方法会有一个弊端, save方法是全局的, 所以执行save方法以后, 最后一次修改时间会变化修原创 2020-12-19 12:30:47 · 99 阅读 · 1 评论 -
Django - 后台富文本编辑器
目录常用模板过滤器标签博客详情解析html标签博客列表解析html标签富文本编辑器django-ckeditor添加上传图片的功能常用模板过滤器标签https://blog.csdn.net/a599174211/article/details/82751693博客详情解析html标签给博客详情标签添加一个过滤器 safe, 使django后台能够解析博客内容html标签<div class="blog-content">{{ blog.content|safe }}</原创 2020-12-18 22:03:39 · 206 阅读 · 0 评论 -
Django - 博客分类统计
目录添加博客分类数量显示使用annotate注释添加博客分类数量显示使用annotate注释annotate相当于临时给博客添加一个属性.语法 :# 这里的blog相当于BlogType模型里面的blog外键BlogType.objects.annotate(blog_count=Count('blog'))BlogType.objects.annotate(blog_count=Count('blog')) 执行结果是一条sql语句...原创 2020-12-18 12:18:57 · 251 阅读 · 0 评论 -
Django - QuerySet
目录什么是QuerySetQuerySet的常用方法什么是QuerySet查询集,类似一个列表,包含了满足查询条件的所有项。QuerySet 可以被构造,过滤,切片,做为参数传递,这些行为都不会对数据库进行操作。只有你查询的时候才真正的操作数据库。意味着QuerySet是惰性执行的----即创建查询集不会带来任何的数据库访问,直到查询集需要求值的时候,Django才会真正运行这个查询。QuerySet的常用方法all(): 查询所有结果filter(**原创 2020-12-17 11:28:29 · 201 阅读 · 1 评论 -
Django - 上下篇博客和按月分类
目录filter筛选条件筛选上一篇博客和下一篇博客修改前端页面三级目录filter筛选条件筛选上一篇博客和下一篇博客blogs = get_object_or_404(Blog, pk=blog_pk) # 上一篇博客 context['previous_blog'] = Blog.objects.filter(created_time__gt=blogs.created_time).last() # 下一篇博客 context['next_blog'] = Blog原创 2020-12-17 11:23:41 · 156 阅读 · 0 评论 -
Django - 分页优化
这里写目录标题当前页高亮不要过多页面选择显示当前页码优化博客分类页面当前页高亮{# 遍历获取所有页码 #}{% for page_num in page_of_blogs.paginator.page_range %} {% if page_num == page_of_blogs.number %} <li class="active"><a href="?page={{ page_num }}">{{ page_num }}</a><原创 2020-12-16 21:48:00 · 295 阅读 · 0 评论 -
Django - 分页显示博客和shell命令行模式
目录快速添加博客shell命令行添加博客for 循环添加博客分页博客分页分页的使用修改views方法修改前端页面添加分页完善分页, 添加上一页和下一页功能快速添加博客shell命令行模式添加博客 :python manage.py shellfor 循环执行新增博客代码shell命令行添加博客# 引入博客>>> from blog.models import Blog# 添加标题>>> blog.title = "shell下第一篇博客"# 添原创 2020-12-16 16:42:09 · 187 阅读 · 1 评论 -
Django - Bootstrap响应式布局
这里写目录标题Bootstrap的响应式设计修改博客列表页面博客列表页面设置样式博客详情页设置样式Bootstrap的响应式设计修改博客列表页面使用 bootstrap 里面带标题的面板<div class="panel panel-default"> <div class="panel-heading">Panel heading without title</div> <div class="panel-body"> Pane原创 2020-12-15 21:00:15 · 234 阅读 · 0 评论 -
吐槽!!!!
不会前端学不下去了, 学完前端再来o(╥﹏╥)o原创 2020-11-25 11:55:22 · 100 阅读 · 0 评论 -
Django - 使用CSS框架协助前端布局
目录部署Bootstrap引入bootstrap基本模板根据bootstrap官网的基本模板补全base.html文件调整导航栏设置导航栏的下拉功能部署Bootstrap下载BootstrapBootstrap官网 : www.bootcss.com下载下来后解压有三个文件夹css : 相关的样式文件fonts : 字体文件js : 对css样式进行一些处理, 比如下拉等等引入bootstrap在static文件里面创建一个文件夹bootstrap-3.3.7基本模原创 2020-11-25 11:31:27 · 330 阅读 · 0 评论 -
Django - 使用CSS美化页面
目录页面设计导航栏设计修改首页和博客的前端显示添加首页页面使用CSS(层叠样式表)让个人博客网站设置成一个块设置导航栏里面的样式, 下划线全都不要设置背景颜色 , 内边距外边距, 和字体颜色设置边框线设置标签和标签的间距调整内容部分的显示使用静态文件页面设计导航栏设计在导航栏添加首页和博客添加访问博客链接设置uls.pyfrom django.urls import pathfrom . import viewsurlpatterns = [ # http://loc原创 2020-11-24 14:18:58 · 2932 阅读 · 2 评论 -
Django - 模板嵌套
目录模板嵌套创建通用模板使用通用模板三级目录模板嵌套创建通用模板把相同的部分提出, 放到一个文件里base.html<!DOCTYPE html><html><head> <meta charset="UTF-8"> </head><body> <div> <a href="{% url 'home' %}"> <h2&g原创 2020-11-23 10:46:14 · 587 阅读 · 0 评论 -
Django - 常用的模版标签和过滤器
目录继续搭建blog添加跳转方法添加前端显示页面访问某个博客的url限制访问主页的url限制给博客标题添加a标签继续搭建blog添加跳转方法views.py# 用模板显示响应的内容from django.shortcuts import render_to_response, get_objects_or_404from .models import Blog# 博客列表def blog_list(request): content = {} # 字典的key是对应的名称原创 2020-11-21 11:46:30 · 135 阅读 · 0 评论 -
Django - 构建个人博客网站
目录简单构建开启本地虚拟环境三级目录简单构建功能模块 ≈ Django App开启本地虚拟环境三级目录原创 2020-11-17 19:21:40 · 391 阅读 · 2 评论 -
Django - 开始完整网站开发
目录如何用Django开发网站个人博客网站框架三级目录**加粗样式**如何用Django开发网站个人博客网站框架三级目录加粗样式原创 2020-11-14 18:43:32 · 213 阅读 · 0 评论 -
Django - 定制后台和修改模型
目录定制admin后台Django管理后面数据库字段的显示以列表形式在Django管理页面显示模型数据二级目录三级目录定制admin后台Django管理后面数据库字段的显示在模型文件里面添加一个__str__方法models.pyfrom django.db import models# Create your models here.class Article(models.Model): # 创建一个标题 # CharField代表它是一个文本型字符型的字段原创 2020-11-13 12:28:18 · 291 阅读 · 0 评论 -
Django - 使用模板显示内容
目录查看文章页面使用模板三级目录查看文章页面如何通过一个处理方法获取文章唯一标识修改D:\Django\mysite\article 应用里面的views.pyfrom django.shortcuts import renderfrom django.http import HttpResponse# Create your views here.def article_detail(request, article_id): return HttpResponse("文原创 2020-11-07 19:56:29 · 351 阅读 · 0 评论 -
Django - 基本应用结构
基本应用结构访问多个页面Django Appmodels.py : 模型安装应用同步数据库把应用添加到Django管理后台修改管理后台为中文访问多个页面Django App创建Django应用python manage.py startapp 应用名称运行完以后创建了一个文件夹文件夹目录init : 指定文件夹是一个python包models.py : 模型创建一个模型from django.db import models# Create your model原创 2020-11-06 16:18:07 · 752 阅读 · 2 评论 -
Django - 入门仪式
创建项目, 输出HelloWorld创建项目命令 : django-admin startproject<项目名>项目目录manage.py : 管理整个jango项目的文件init.py : python包必须包含的文件settings.py : django项目的管理文件urls.py : 整个项目的路由控制, 它规定哪些url可以访问wsgi.py项目运行在WSGI兼容Web服务器上的入口文件。说明:WSGI全称是Web服务器网关接口,维基百科上给出的解释是“原创 2020-10-31 17:39:29 · 105 阅读 · 0 评论 -
Django - 什么是Django
什么是Django安装DjangoThe web framework for perfectionists with deadlines鼓励快速开发简洁实用的设计处理了很多Web开发琐事令使用者专注实现无需重复造轮子免费并开源安装Django因为教程原因, 安装的是2.2的版本, 支持python3.7pip install Django==2.2...原创 2020-10-30 21:41:16 · 305 阅读 · 0 评论