美文网首页
附录5.习题2

附录5.习题2

作者: __深蓝__ | 来源:发表于2019-04-11 09:46 被阅读0次

Django中查询queryset时什么情况下用Q方法

F:对数据本身的不同字段进行操作 如:比较和更新,对数据进行加减操作
Q:用于构造复杂的查询条件 如:& |操作

Django中验证表单提交格式是否正确需哪个函数

form.is_valid() :返回布尔值

orm如何取消级联

user = models.ForeignKey(User, blank=True, null=True, on_delete+models.SET_NULL)

并且SET_NULL只有在null为True的时候,才可以使用。

Django中如何保存和更新session

  • 保存session
    1 生成随机字符串 ltv8zy1kh5lxj1if1fcs2pqwodumr45t
    2 response.set_cookie("sessionid",ltv8zy1kh5lxj1if1fcs2pqwodumr45t)
    3 在django—session表中创建一条记录:
    session-key:ltv8zy1kh5lxj1if1fcs2pqwodumr45t
    session-data:{"is_login":True,"username":"yuan"}

  • 更新session
    在django—session表中创建一条记录:
    session-key: ltv8zy1kh5lxj1if1fcs2pqwodumr45t
    session-data:被更新的数据

简述Django对http请求的执行流程

  1. 在接受一个Http请求之前的准备,启动一个支持WSGI网关协议的服务器监听端口等待外界的Http请求,比如Django自带的开发者服务器或者uWSGI服务器。
  2. 服务器根据WSGI协议指定相应的Handler来处理Http请求,并且初始化该Handler,在Django框架中由框架自身负责实现这一个Handler。 此时服务器已处于监听状态,可以接受外界的Http请求 当一个http请求到达服务器的时候
  3. 服务器根据WSGI协议从Http请求中提取出必要的参数组成一个字典(environ)并传入Handler中进行处理。
  4. 在Handler中对已经符合WSGI协议标准规定的http请求进行分析,比如加载Django提供的中间件,路由分配,调用路由匹配的视图等。 返回一个可以被浏览器解析的符合Http协议的HttpResponse。

Django中当用户登录到A服务器进入登陆状态,下次被nginx代理到B服务器会出现什么影响

之前的登录状态会丢失

Django是如何处理跨域请求的

  • 启用中间件
  • post请求
  • 验证码
  • 表单中添加{%csrf_token%}标签

查询集的两大特性?什么是惰性执行

  • 惰性执行、缓存 。
  • 创建查询集不会访问数据库,直到调用数据时,才会访问数据库,调用数据的情况包括迭代、序列化、与if合用

查询集返回的列表过滤器有哪些

  • all():返回所有数据
  • filter():返回满足条件的数据
  • exclude():返回满足条件之外的数据,相当于sql语句中where部分的not关键字
  • order_by():排序

如何获取django urlpatterns里面注册的所有url

from django.conf.urls import url,include
from arya.service.sites import site
from django.urls.resolvers import RegexURLPattern
from django.urls.resolvers import RegexURLResolver
from django.shortcuts import HttpResponse

def index(request):
  print(get_all_url(urlpatterns,prev='/'))
  return HttpResponse('...')

def get_all_url(urlparrentens,prev,is_first=False,result=[]):
  if is_first:
​    result.clear()
  for item in urlparrentens:
​    v = item._regex.strip('^')    #去掉url中的^和')    #去掉url中的^和
​    if isinstance(item,RegexURLPattern):
​      result.append(prev + v)
​    else:
​      get_all_url(item.urlconf_name,prev + v)
  return result

urlpatterns = [
  url(r'^arya/', site.urls),
  url(r'^index/', index),
]

urls.py中include的作用

进行路由转发,通常我们会在每个app里,各自创建一个urls.py路由模块,然后从根路由出发,将app所属的url请求,全部转发到相应的urls.py模块中。

urlpatterns中的name与namespace有什么作用?

  • name,给路由起一个别名
  • namespace,名字空间,防止多个应用之间的路由重复

如何给一个字段设置一个主键?

primary_key

如何设置一个带有枚举值的字典?

DateTimeField类型中的auto_now与auto_now_add有什么区别

  • DateTimeField.auto_now
    这个参数的默认值为false,设置为true时,能够在保存该字段时,将其值设置为当前时间,并且每次修改model,都会自动更新。因此这个参数在需要存储“最后修改时间”的场景下,十分方便。需要注意的是,设置该参数为true时,并不简单地意味着字段的默认值为当前时间,而是指字段会被“强制”更新到当前时间,你无法程序中手动为字段赋值;如果使用django再带的admin管理器,那么该字段在admin中是只读的。
  • DateTimeField.auto_now_add
    这个参数的默认值也为False,设置为True时,会在model对象第一次被创建时,将字段的值设置为创建时的时间,以后修改对象时,字段的值不会再更新。该属性通常被用在存储“创建时间”的场景下。与auto_now类似,auto_now_add也具有强制性,一旦被设置为True,就无法在程序中手动为字段赋值,在admin中字段也会成为只读的。

values()与values_list()有什么区别?

  • values : 取字典的queryset
  • values_list : 取元组的queryset

selected_related与prefetch_related有什么区别?

  • select_related适用于外键和多对一的关系查询;
  • prefetch_related适用于一对多或者多对多的查询。

当删除一个外键的时候,如何把与其关联的对应关系删除

使用on_delete参数

class Meta中常用的元信息字段有哪些

app_label
指定模型类是那个应用程序的
db_table
指定自定义数据库表名
若不提供该参数, Django 会使用 app_label + '_' + module_name 作为表名
ordering
告诉Django模型对象返回的记录结果集是按照哪个字段排序




- end -

相关文章

  • 附录5.习题2

    Django中查询queryset时什么情况下用Q方法 F:对数据本身的不同字段进行操作 如:比较和更新,对数据进...

  • 作业

    线代 习题五 2. 3. 4(1). 5. 6(1). 10(1)(3). 15 理力 习题. p131 ...

  • unit5 Culture Passage3

    1.翻译 2.生词 3.总结 4.习题解答 5.读后感

  • 致用Unit2

    1.生词 2课后习题 3.全文翻译 4.段落大意 5.读后感

  • 附录6.习题3

    多对多关联的表,如何手动生成第三张表? 在Django中,服务端给客户端响应信息有几种方式?分别是什么? HTTP...

  • 附录4.习题1

    列举Http请求中常见的请求方式 HTTP请求的方法:HTTP/1.1协议中共定义了八种方法(有时也叫“动作”),...

  • 20181023总结

    今日事项: 1.《提高你的认知力》阅读 2.发展对象党课 3.《概率论》习题一节 4.英语听力习题 5.阅读《快速...

  • 《跟着美剧学英语》啃书计划

    60天,每天一课。 1.盲听音频一遍。 2.做习题。 3.跟文本听音频,摘录新词汇。 4.再做一遍习题。 5.对答...

  • 附录2

    附录2 几个技巧,大家参考。 第一,确定冲突配角 每个冲突都有个小目标。我们要干啥,哪里搞不定,要靠什么能力搞定。...

  • Mybatis配置说明

    有理解不到位的欢迎指正 附录1 multipleResultSetsEnabled 附录2 autoMapping...

网友评论

      本文标题:附录5.习题2

      本文链接:https://www.haomeiwen.com/subject/ewlziqtx.html