Django基础(四)——学习笔记小知识


这次做了一个比上次简单博客功能较全的学习笔记:

1、可创建用户账户进行添加、删除主题,增添、编辑、删除条目;
2、让用户拥有自己的数据,对用户的访问进行限制;每个用户拥有自己的主题,不让其他人查看;
3、添加Django-bootstrap为其着色

因为此“学习笔记”各个功能关联较多,在这里就不一 一 说明操作,用初步的模式展现页面,然后讲一些,在此过程中遇到的一些小知识,都是到处碰壁碰出来的。

(一)页面展示


所有主题列表
主题的条目
登录界面
注册界面

(二)小知识
1、某些页面,只允许已登录的用户访问,使用@login_required限制访问
Django提供了装饰器@login_required,让我们能够轻松地实现这样的目标。装饰器是放在函数定义前面的命令,python在函数运行前,根据它来修改函数代码的行为。
2、将数据关联到用户
只需要将最高层的数据关联到用户,这样更低层的数据将自动关联到用户。例如,在项目“学习笔记”中,应用程序的最高层数据是主题,而所有条目都与特定主题相关联。只要每个主题都归属于特定用户,我们就能确定数据库中每个条目的所有者

那么问题来了。。。。。。
我们的模型Topic与用户的User是独立的,要使用一个外键进行关联。在这里我们是使用Django自带的模型User :from django.contrib.auth.models import User,里面有user属性 ,so,问题解决。

修改模型Topic——models.py

class Topic(models.Model):
     ......
     ......
     owner = models.ForeignKey(User)        建立到模型User外键关系

然后,一定要记住进行数据库迁移,可用Django进行检验
3、只允许用户访问自己的主题
现在刚刚设置的外键起作用了,在views.py中进行判断

def topics(request):
.....
topics = Topic.objects.filter(owner = request.user).order_by('date_added')

单个主题的保护

def topic(request):
.......
if topic.owner != request.user:
      raise Http404

4、项目继承应用程序django-bootstrap
安装步骤:
a、命令行中输入pip install django-bootstrap3,在F:\PYthon\bianjiqi\Lib\site-packages(因为每个人的安装目录不同,但是对应的文件夹是对的~)中查看是否有下面两个文件夹,有则安装成功

查看路径

b、settings.py
在INSTALLED_APPS中添加如下代码,在项目中包含应用程序django-bootstrap3

INSTALLED_APPS = {
.......
......
# 第三方应用程序
'bootstrap3'

}

在末尾添加如下代码:

STATIC_URL = '/static/bootstrap/'   #静态文件的路径

# LOGIN_URL = '/users/login/' 
STATICFILES_DIRS = (                
 # STATICFILES_DIRS 告诉Django,首先到STATICFILES_DIRS 里面寻找静态文件,
#其次再到各个app的static文件夹中寻找,有个弊端就是查找到第一个就停止
    os.path.join(BASE_DIR, 'static'),
)
BOOTSTRAPS = {
    'include_jquery': True,
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,392评论 5 470
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,258评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,417评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,992评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,930评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,199评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,652评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,327评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,463评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,382评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,432评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,118评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,704评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,787评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,999评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,476评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,057评论 2 341

推荐阅读更多精彩内容