观django-messages包笔记

django_messages是一个提供注册用户之间互相发送消息的django app。最近在研究其实现机制,安装测试非常容易,导入包,配好url以及syncdb生成数据库即可使用。

一、收获一:

  我们在setting里设置好AUTH_USER_MODEL = ‘accounts.User‘,

  然后就可以在数据库中:

  from django.conf import settings

  AUTH_USER_MODEL = getattr(settings, ‘AUTH_USER_MODEL‘, ‘auth.User‘)    

  sender = models.ForeignKey(AUTH_USER_MODEL, related_name=‘sent_messages‘)
  recipient = models.ForeignKey(AUTH_USER_MODEL, related_name=‘received_messages‘, blank=True, null=True)

  实现同一个数据库引用两个相同的数据库作为外键

  另外引用本身数据库作为外键的写法为

  parent_msg = models.ForeignKey(‘self‘, related_name=‘next_messages‘, null=True, blank=True)

  

二、收获二:

  get_absolute_url

  解释地址:http://mxjloveyou.blog.163.com/blog/static/1762546892012231105635330/

  个人仿照使用:

  在model里面

  def get_absolute_url(self):

    return (‘message:community_activity_content‘, [self.id])
  get_absolute_url = models.permalink(get_absolute_url)

  在模板里面即可;

  <a href="{% url ‘message:community_activity_content‘ i.id%}">替换为

  <a href="{{   i.get_absolute_url }}">

  成功优化硬编码问题。

  

  

观django-messages包笔记

时间: 2024-11-01 06:49:37

观django-messages包笔记的相关文章

django book学习笔记——模板高级进阶

1.RequestContext和Context处理器 当你不想在一系例模板中都明确指定一些相同的变量时,你应该使用 RequestContext .例如: from django.template import loader, RequestContext def custom_proc(request):     "A context processor that provides 'app', 'user' and 'ip_address'."     return {     

Django的标准库django.contrib包介绍

前面我们激活了 Django 后台,我们要使用自动化的站点管理工具(django.contrib.admin),所以最好对Django.contrib进行了解,它是啥?它是一个强大的功能包,是Django的标准库. Django的标准库存放在 django.contrib 包中.每个子包都是一个独立的附加功能包. 这些子包一般是互相独立的,不过有些django.contrib子包需要依赖其他子包. 在 django.contrib 中对函数的类型并没有强制要求 .其中一些包中带有模型(因此需要你

django book学习笔记——模型

1.数据库配置 打开settings.py配置文件,找到数据库配置DATABASES,例如: DATABASES = {     'default': {         'ENGINE': 'django.db.backends.mysql', # 使用哪个数据库引擎         'NAME': 'djangodb',                      # 数据库名称         'USER': 'django',                      # 用哪个用户连接数

django开发实战笔记-1-2017-03-19

Django 开发环境的搭建和创建 website工程 要开始 Django 开发,你需要从中掌握以下知识: 如何创建 Django 工程,并了解 Django 默认的工程目录结构 如何创建 Django APP 理解 Django 的MTV 模式,学会编写 Model.View.Template Django 如何处理静态文件,即各种 CSS,JS,以及图片文件等 一:环境配置 1.Centos [[email protected] myweb]# uname -a Linux localho

Django messages框架

一.简介 在网页应用中,你经常需要在处理完表单或其它类型的用户输入后,显示一个通知消息(也叫做“flash message”)给用户 对于这个功能,Django 提供基于Cookie 和会话的消息,无论是匿名用户还是认证的用户. 其消息框架允许你临时将消息存储在请求中,并在接下来的请求(通常就是下一个请求)中提取它们并显示.每个消息都带有一个特定level 标签,表示其优先级(例如info.warning 或error) 二.启用消息框架 消息框架的实现通过一个中间件 类和对应的context

python+django+mysql学习笔记

安装python 1. 从 http://www.python.org/download/ 下载最新的python版本 (我用的是python2.72, 当时最稳定的) 2. 然后一路next, 安装到你想要的目录下 3. 然后更改path, 点击控制面板->系统->高级->环境变量.在“系统变量”表单中点击叫做PATH的变量,然后编辑这个变量,把” ;C:\Python27; C;\Python27\Scripts; “加到它的结尾.当然,是Python所在的正确路径. 安装djang

django用包来组织模型

在我们使用python manage.py startapp xxx命令创建新的应用时,Django会自动帮我们建立一个应用的基本文件组织结构,其中就包括一个models.py文件.通常,我们把当前应用的模型都编写在这个文件里,但是如果你的模型很多,那么将单独的models.py文件分割成一些独立的文件是个更好的做法. 首先,我们需要在应用中新建一个叫做models的包,再在包下创建一个__init__.py文件,这样才能确立包的身份.然后将models.py文件中的模型分割到一些.py文件中,

Django Tutorial 学习笔记

实际操作了Django入门教程中的范例,对一些细节有了更清晰的掌握.感觉只看文档不动手是不行的,只看文档没法真正掌握其中要素之间的关系,看了很多遍也不行,必须动手做了才能掌握.同时,这次练习在Eclipse+PyDev环境下进行,了解了这个开发环境对Django的支持情况. Django网站提供的入门教程: https://docs.djangoproject.com/en/1.6/intro/tutorial01/ 教程中的数据库结构 Poll {question, pub_date} Cho

Go中常用包笔记 内置builtin(一)

Package builtin 定义了Go的一些预定义的符号.这些符号不需要引用任何包就可以使用. func append(slice []Type, elems ...Type) []Type 给数组切片追加元素,"泛型" func cap(v Type) int 数组,数组指针的元素数量:切片的最大容量:channel的缓冲区大小 func close(c chan<- Type) 关闭channel(只应该由channel的发送方关闭,不能对只能接收的单向channel使用