django 知识点小结

以下内容为用django写blog中的一些知识点,权当复习。

一、定义view

1、get_object_or_404()是用get()查询数据,如果不存在就直接返回404

参数:

get_object_or_404(Post,  slug=post, status=‘published‘)

Post:models参数,要查询的model,在我的博客里面表示的是定义的帖子的数据模型

slug=post:*args,在我的博客里面表示是帖子的url

status=‘published‘:**kwargs,在我的博客里面表示的是发布状态的帖子

2、render(request,‘blog/post/detail.html‘,{‘post‘:post})

此方法的作用---结合一个给定的模板和一个给定的上下文字典,并返回一个渲染后的 HttpResponse 对象。

通俗的讲就是把context的内容, 加载进templates中定义的文件, 并通过浏览器渲染呈现.

request:固定参数

‘blog/post/detail.html‘: templates 中定义的文件, 要注意路径名. 比如‘templates/blog/post/index.html‘, 参数就要写‘blog/post/index.html’

二、定义URL

1、include

在一个项目中同时存在多个apps的时候,用include分开管理app的url非常清晰明了

url(r‘^blog/‘, include(‘blog.urls‘, namespace=‘blog‘, app_name=‘blog‘) )

表明在blog应用下的urls文件跟在主urls文件里面添加的url是一样

这时需要编辑blog这个app的url在blog应用下编辑就行,不用在项目主url下编辑

2、url的定义

url(r‘^$‘, views.post_list, name=‘post_list‘)表示主url里面的r‘^blog/‘后面不需要匹配就可以进入博客列表

a)如果主url里面是r‘^/myapp/blog/‘,那么进入博客列表的url就变成了127.0.0.1:8000/myapp/blog/

b)如果主url里面是r‘^blog/‘,app里面的url是r‘^post_list/$‘,那么进入博客列表的url就变成了127.0.0.1:8000/blog/post_list/

url(r‘^(?P<year>\d{4}/(?P<month>)\d{2})·····‘)表示匹配年份,四位数,月份2位数

正则表参考:http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html

3、反向查找url

通过reverse反向查找当前博客列表中某个博客帖子的年月日,这样就获得了某个帖子的url,这样在前端渲染的时候只需用<a href="{{ post.get_absolute_url() }}">方法就能跳转到相应页面

三、前端渲染

1、在blog下创建templates,文件结构如下

base.html作为所有页面有存在的样式或者内容,可以设置css外链,这样便于修改样式

在head中添加如下代码:

<head>

<link href="{% static "css/blog.css "% rel="stylesheet"}">

</head>

这段代码表示在项目下面的blog.css的样式作为html页面的样式

在project下面settings.py的最下面添加如下代码

在project下面新建static文件夹,然后在static文件夹里面添加blog.css文件,结构如下:

在前端要添加{% load staticfiles %}才能使用static/css/blog.css样式

未完待续

时间: 2024-10-24 23:17:48

django 知识点小结的相关文章

PHP自定义框架部分知识点小结(一)

PHP自定义框架部分知识点小结(一) 网络上有大量优秀的MVC框架可供使用,但自定义框架并不是为了开发一个全面的.终极的MVC框架解决方案,而是将它看作是一个很好的从内部学习PHP的机会,在此过程中,将会学习面向对象编程和MVC设计模式,并学习到开发中的一些注意事项. Web MVC的流程体现如下图: 一个典型的Web MVC流程: Controller截获用户发出的请求: Controller调用对应的Model: Model调用DAO(基于PDO操作数据库的封装类)完成状态的读写操作: Co

(萌O(∩_∩)O)哈希知识点小结

噶呜~先来了解一下什么是哈希吧? 当我们要在一堆东西中找到想要的那一个东西,我们常常通过比较来找,理想的情况是不经过任何比较,一次就能找到,怎么才能做到这样呢?那就在记录的储存位置和他的关键字之间建立一个确定的对应关系,我们称这种对应关系为哈希函数~小盆友们应该对哈希有了一个初步的印象了吧?其实,哈希函数就是一个映像,设定很灵活,只要使任何关键字由这个哈希函数所得的哈希函数值都落在一定范围内即可.当然,不同的关键字可能得到同一哈希地址,这就出现了所谓的冲突,至于怎么解决这种冲突,稍后就会了解到.

oracle事务知识点小结

DML语句流程 1 获取事务锁和ITL2 锁定候选行3 生成redo4 生成undo5 生成redo record写入log buffer并更改数据块 事务提交1 分配SCN2 更新事务表,将事务槽状态改为0x093 回收undo块4 创建commit redo record5 将redo从log buffer刷新6 释放表锁和行锁 锁一个事务由1个TX和若干TM组成,而回滚savepoint不会释放TX锁: ITL通过XID指向事务槽,进而指向undo记录,其UBA也指向undo记录:两者区别

MySQL 视图知识点小结

视图本身是一个虚拟表,不存放任何数据.在使用SQL语句访问视图的时候,它返回的数据是MySQL从其他表中生成的.视图和表在同一个命名空间, MySQL在很多地方对于视图和表是同样对待的.不过视图和表也有不同.例如,不能在视图上创建触发器,也不能用DROP TABLE命令删除视图. 视图的实现算法: 合并算法:merge 临时表算法:tmptable 可更新视图(updatable view):可以通过更新视图来更新视图涉及的相关表. 如果视图定义中包含了group by .union.聚合函数.

python Django知识点总结

python Django知识点总结 一.Django创建项目: CMD 终端:Django_admin startproject sitename(文件名) 其他常用命令: 其他常用命令: 通过类创建表--python manage.py makemigrations --python manage.py migrate 其他命令: python manage.py runserver 0.0.0.0 python manage.py stratapp appname python manag

SpringBoot 系列教程之事务隔离级别知识点小结

SpringBoot 系列教程之事务隔离级别知识点小结 上一篇博文介绍了声明式事务@Transactional的简单使用姿势,最文章的最后给出了这个注解的多个属性,本文将着重放在事务隔离级别的知识点上,并通过实例演示不同的事务隔离级别下,脏读.不可重复读.幻读的具体场景 I. 基础知识 在进入正文之前,先介绍一下事务隔离级别的一些基础知识点,详细内容,推荐参考博文 mysql 之锁与事务 1. 基本概念 以下基本概念源于个人理解之后,通过简单的 case 进行描述,如有问题,欢迎拍砖 更新丢失

【SpringBoot MQ 系列】RabbitMq 核心知识点小结

[MQ 系列]RabbitMq 核心知识点小结 以下内容,部分取材于官方教程,部分来源网络博主的分享,如有兴趣了解更多详细的知识点,可以在本文最后的文章列表中获取原地址 RabbitMQ 是一个基于 AMQP 协议实现的企业级消息系统,想要顺畅的玩耍的前提是得先了解它,本文将主要介绍 rabbitmq 的一些基本知识点 特点 基本概念 消息投递消费的几种姿势 事务 集群 I. 基本知识点 它是采用 Erlang 语言实现的 AMQP(Advanced Message Queued Protoco

django学习过程中知识点小结

创建项目:django-admin startproject mysite 该命令将会创建一个名为mysite的项目. mysite/ manage.py mysite/ __init__.py settings.py urls.py wsgi.py manage.py:一个实用的命令行,用来与你的项目进行交互.它是一个对django-admin.py工具的简单封装.你不需要编辑这个文件. mysite/:你的项目目录,由以下的文件组成: init.py:一个空文件用来告诉Python这个mys

C++ 面向对象 知识点 小结

[摘要] 面向对象主要的知识点有,面向对象的基本概念,结构和类的区分,多态及各种构造函数.要求掌握 1.面向对象的基本原则(封装.继承.多态),面向对象的基本概念(类.对象.继承).2.类和结构体在访问控制上的差异.3.成员变量在静态成员变量的4个特性.引用成员变量必须采用的初始化方式.静态常量成员变量的初始化特点以及成员变量在初始化列表初始化顺序上的特点. 4. string与stack的四个初始化函数的书写. 5. 友元函数的尺度以及实现. 6.异常的2个例题要求熟练掌握. 7. 深拷贝与浅