django 3.0 文档学习笔记

 1异常处理

常规办法

    try:
        question = Question.objects.get(pk = question_id)
    except Question.DoesNotExist:
        raise Http404("sorry no exist")

 新写法

from django.shortcuts import render,get_object_or_404

question = get_object_or_404(Question,pk=question_id)

2页面渲染

return render(request,'app/index.html',{a':a})

3应用注册

INSTALLED_APPS = [
    'polls.apps.PollsConfig',
]

4 模板路径

模板文件的路径应该是 polls/templates/polls/index.html 。因为``app_directories`` 模板加载器是通过上述描述的方法运行的,所以Django可以引用到 polls/index.html 这一模板了。

虽然我们现在可以将模板文件直接放在 polls/templates 文件夹中(而不是再建立一个 polls 子文件夹),但是这样做不太好。Django 将会选择第一个匹配的模板文件,如果你有一个模板文件正好和另一个应用中的某个模板文件重名,Django 没有办法 区分 它们。我们需要帮助 Django 选择正确的模板,最好的方法就是把他们放入各自的 命名空间 中,也就是把这些模板放入一个和 自身 应用重名的子文件夹里。

 5外键使用

两个模型Question Choice 

>>> q = Question.objects.get(pk=1)

# 显示另一个模型中相关的项目
>>> q.choice_set.all()


# 创建相关项目
>>> q.choice_set.create(choice_text='Not much', votes=0)
# 赋值给另一个对象
>>> c = q.choice_set.create(choice_text='Just hacking again', votes=0)

# 访问相关属性
>>> c.question


# 获取相关项目
>>> q.choice_set.all()
# 统计数量
>>> q.choice_set.count()
3

  

 

猜你喜欢

转载自www.cnblogs.com/spidernyp/p/12751154.html