随笔分类 - Django
摘要:在models.py中添加image模型: class Image(models.Model): user=models.ForeignKey(settings.AUTH_USER_MODEL,related_name='image_created') title=models.CharField(
阅读全文
摘要:前面我们在登录的时候,是通过输入用户名和密码来进行认证 user=authenticate(username=cd['username'],password=cd['password']) 这个是通过后台设置的django.contrib.auth.backends.ModelBackend来生效的
阅读全文
摘要:前面章节介绍了用户的登录,退出。这一章将介绍用户的注册。首先需要创建一个表单来让用户填写用户名,密码等信息。创建UserRegistrationFrom表单。并指定model为User类 from django.contrib.auth.models import User class UserRe
阅读全文
摘要:使用django有一个好处就是有各种各样的框架可以拿来直接使用。相比flask,django自带的框架确实要多很多。比如这一章就要介绍的用户登录。Django拥有一个内置的认证(authentication)框架用来操作用户认证(authentication),会话(sessions),权限(per
阅读全文
摘要:Django提供了很多内置的模板标签比如{% if %}或者{% block %}Django也允许你创建自己的模板标签(template tags)来执行自定义的动作。当你需要在你的模板中添加功能而Django模板标签(template tags)的核心设置无法提供此功能的时候,自定义模板标签会非
阅读全文
摘要:一般在发表博客后会给每个帖子加上一个标签。类似帖子关键字的功能。在这一章中来看下如何给博客添加标签功能(tagging) 添加标签需要集成第三方的Django标签应用来完成这个功能。django-taggit是一个可复用的应用,它会提供给你一个Tag模型(model)和一个管理器(manager)来
阅读全文
摘要:3既然是博客,那肯定就有留言评论系统.在这一章就来建立一个评论系统. 1 创建一个模型来保存评论 2 创建一个表单来提交评论并且验证输入的数据 3 添加一个视图函数来处理表单和保存新的评论到数据库 4 编辑帖子模板来展示评论列表以及用来添加新评论的表单 首先来创建一个模型来存储评论 class Co
阅读全文
摘要:在上一章中,我们创建了一个基础的博客应用,我们能在http://127.0.0.1:8000/blog/显示我们的博客。在这一章我们将尝试给博客系统添加一些高级的特性,比如通过email来分享帖子,添加评论,给帖子打上tag. 通过email分享帖子: 要通过email来分享帖子,需要我们创建一个表
阅读全文
摘要:前面已经介绍了django的各种用法,从这一章开始,将实际搭建一个blog系统。 首先我们需要设计blog的模型,在models.py中添加如下内容 # -*- coding: utf-8 -*- from __future__ import unicode_literals import sys
阅读全文
摘要:在登录系统以及需要上传填入的信息时候,用的最多就是表单系统,例如像下面的这种格式 那么在后端我们是需要验证上传的数据是否合乎我们的规定的,比如我们要求填写的整数型,但是上传的是字符型。或者我们要求必填的,但是并没有进行填写。 按照之前的做法,我们是通过request.POST的方法取得数据后进行判断
阅读全文
摘要:通过session,我们可以在多次浏览器请求中保持数据, 接下来的部分就是用session来处理用户登录了。 当然,不能仅凭用户的一面之词,我们就相信,所以我们需要认证。 当然了,Django 也提供了工具来处理这样的常见任务(就像其他常见任务一样)。 Django 用户认证系统处理用户帐号,组,权
阅读全文
摘要:鉴于cookie的不安全,django自带的session框架会帮我们搞定这些问题 你可以用session 框架来存取每个访问者任意数据, 这些数据在服务器端存储,并对cookie的收发进行了抽象。 Cookies只存储数据的哈希会话ID,而不是数据本身,从而避免了大部分的常见cookie问题。我们
阅读全文
摘要:HTTP状态和TCP不一样,HTTP是无状态的,也就是这一次请求和下一次请求之间没有任何状态保持,我们无法根据请求例如IP来识别是否在同一人的连续性请求。就像我们在访问网站的时候,输入了用户名和密码,但是如果跳转到另一个页面,又必须让我们再输入一次用户名和密码,这肯定是无法接受的。这一章就是要介绍如
阅读全文
摘要:接下来看下如何生成文件,在网站上经常要下载后台的文件或者是显示后台文件的内容。 下面通过HttpResponse的方法可以直接将读取的内容显示在网页上 但是这种方法只适合小文件,如果遇到大的文件则会很耗内存。 Django中提供了StreamingHttpResponse可以以流的方式进行下载。代码
阅读全文
摘要:Urls.py中有我们所有的路由映射关系。但是随着网站功能的增多,需要配置的URL也变得多了起来。并且维护这些导入也变得很麻烦。因此介绍一些优化和简洁的方法: 一 使用多个视图前缀: 之前所有的路由关系都是包含在一个urlpatterns里面 模式包含了一个尖号(^)和一个美元符号($)。这些都是正
阅读全文
摘要:在view.py的函数中。我们的函数中第一个参数都是request。在request中有一些信息,比如正在加载这个页面的用户是谁,或者是用什么浏览器之类的。这对于我们网站的管理是很有用处的。 request对象中包含当前请求URL的一些信息: request.path: 除域名以外的请求路径,以正斜
阅读全文
摘要:前面讲到admin界面用户的注册以及修改,如果我们注册的用户密码忘记了该怎么办呢 在终端输入如下的命令进行重置 D:\django_test2>python manage.py shell Python 2.7.11 (v2.7.11:6d1b6a68f775, Dec 5 2015, 20:32:
阅读全文
摘要:所有的网站都有一个管理后台来对所有的网站数据进行管理。那么Django的后台管理是如何进行的。在网页中输入http://127.0.0.1:8001/admin。得到如下的登录界面 在这里可以看到管理员账户的登录界面。那么这个用户名和密码从哪来的呢,需要我们自己创建。在Terminal中输入pyth
阅读全文
摘要:首先来看下如何查询。我们在网页中增加书名的查询链接 后端的查询处理代码:这里由于authors是manytomanyfiled,因此我们这里用r.authors.all().first()来查询符合条件的第一个 但是当输入书名flask1的时候,我们查出来的确实下面这些代码。这是为什么呢。 我们回头
阅读全文
摘要:在前面的模型介绍中设置了3个对象,出版商(publisher),作者(Authro),书籍(book)。首先我们在网页中添加各个对象信息填写的界面。填写后点击提交。将会传递给后端。传递方式采用post 后端生出处理代码如下: 首先判断数据传递方式是否是post. 如果是的话则取出post的数据。然后
阅读全文