32道Python全栈考试题分享

用于巩固自己所学知识点

1、(单选题)您的数据库中有一个 部门表Department 和一个 员工表Employee 。您需要确保一名员工只能被分配到一个现有部门,应对 Employee 表应用何种内容?

A.主键 

B.唯一约束 

C.索引 

D.外键 

 

2、(单选题)下列关于HttpRequest 中的主要内容说法错误的是?

A.request.scheme : 请求数据

B.request.body 请求主体 

C.request.path 请求路径 

D.request.method 请求方法 

 

3、(单选题)下列关于cookies说法错误的是?

A.cookies是一种数据存储技术 

B.cookies是将一段文本保存在服务器的一种技术 

C.用于保存登录信息 

D.用于保存用户的搜索关键词 

 

4、(单选题)下列关于django项目中,配置文件说法错误的是?

A.__init__.py 项目初始化文件,每当服务器启动的时候,会自动执行 

B.urls.py 项目的基础url(路由)配置文件 

C.wsgi.py 配置应用服务器的文件 

D.settings.py 项目初始化文件,每当服务器启动的时候,会自动执行 

 

正确答案以及答案解析请关注微信公众号【全栈记事】回复 621获得!!!

 

5、(单选题)假设有以下ORM模型:

from django.db import models

class Student(models.Model):
    """学生表"""
    name = models.CharField(max_length=100)
    gender = models.SmallIntegerField()

    class Meta:
        db_table = 'student'

class Course(models.Model):
    """课程表"""
    name = models.CharField(max_length=100)
    teacher = models.ForeignKey("Teacher",on_delete=models.SET_NULL,null=True)
    class Meta:
        db_table = 'course'

class Score(models.Model):
    """分数表"""
    student = models.ForeignKey("Student",on_delete=models.CASCADE)
    course = models.ForeignKey("Course",on_delete=models.CASCADE)
    number = models.FloatField()

    class Meta:
        db_table = 'score'

查询所有同学的id、姓名、选课的数量、总成绩;

A.rows = Student.objects.annotate(course_nums=Sum("score__course"),total_score=Count("score__number")).values("id","name","course_nums","total_score")for row in rows:    print(row)

B.rows = Student.objects.annotate(course_nums=Count("score__course"),total_score=Sum("score__number")).values("id","name","course_nums","total_score")for row in rows:    print(row) 

C.rows = Student.objects.annotate(course_nums=Count("score__course"),total_score=Count("score__number")).values("id","name","course_nums","total_score")for row in rows:    print(row) 

D.rows = Student.objects.annotate(course_nums=Sum("score__course"),total_score=Sum("score__number")).values("id","name","course_nums","total_score")for row in rows:    print(row) 

 

6、(单选题)下列关于sessions说法错误的是?

A.session(会话),实际上就是服务器为每个浏览器临时开辟的一段空间,用于保存 相关的请求信息 

B.session也是为了存放数据而存在的,通常会把服务器端要用到的数据保存进 session 

C.session 一般存放在客户的浏览器上

D.随着越来越多用户登录,session 所需要的服务器内存量也会不断增加。 

 

7、(单选题)我想启动我创建的django项目pro,应该输入下面哪个命令?

A.python manage.py runserver 

B.python manage.py startproject 

C.python settings.py runserver 

D.python settings.py startproject 

 

8、(单选题)下列关于mvc说法错误的是?

A.M :Models,模型层 应用程序中处理显示的部分内容             

B.V :Views , 视图层 应用程序中处理显示的部分内容 

C.C :Controllers , 控制器  处理用户交互的部分,通常负责从模型中取出数据,再进行业务的处理,最后将数据给视图,并将视图给客户端 

D.M :Models,模型层 在程序中主要处理数据,负责在数据库中对数据进  行存取操作(CRUD) 

 

9、(单选题)MVC和MTV的对应关系正确的是?

A.M  ---  MV  ---   TC  ---   V 

B.M  ---  VV  ---   TC  ---   M 

C.M  ---  MV  ---   VC  ---   T 

D.M  ---  MV  ---   VC  ---   V 

 

10、(单选题)我想用django创建一个叫pro的项目,应该用哪个命令?

A.django-admin startproject pro 

B.django-admin pro 

C.pro django-admin 

D.pro django-admin startproject  

 

11、(单选题)关于Django的url()语法,url(regex,views,kwargs=None,name=None),说法错误的是()

A.regex :匹配请求地址的正则表达式 

B.views :待处理的视图函数(views.py定义) 

C.kwargs :字典,传递给视图的参数 

D.name :定义名称,在模板中,不允许通过名称找到url() 

 

12、(单选题)我想在我的django项目中创建一个叫 myapp的 应用,应该输入下面哪个语句?

A.python manage.py startapp myapp 

B.python manage.py startproject myapp 

C.python manage.py myapp startapp 

D.python manage.py myapp startproject 

 

13、(单选题)我要用forms创建一个subject属性,对应生成一个文本框,控件前提示的文本为'标题',应该如何写?

A.subject = forms.CharField(title='标题') 

B.subject = forms.Form.CharField(title='标题') 

C.subject = forms.TextField(label='标题') 

D.subject = forms.CharField(label='标题') 

 

14、(单选题)我现在要建立两张表,一张book和一张author 表,一个书可能有多个作者,一个作者也可以写很多书,那我应该如何在models里面创建模型?

A.models.OneToOneField 

B.models.OneToManyField 

C.models.ManyToManyField 

D.models..ForeignKey 

 

15、(单选题)假设有以下ORM模型

from django.db import models

class Student(models.Model):
    """学生表"""
    name = models.CharField(max_length=100)
    gender = models.SmallIntegerField()

    class Meta:
        db_table = 'student'

class Score(models.Model):
    """分数表"""
    student = models.ForeignKey("Student",on_delete=models.CASCADE)
    course = models.ForeignKey("Course",on_delete=models.CASCADE)
    number = models.FloatField()

    class Meta:
        db_table = 'score'

查询平均成绩大于等于60分的同学的id和平均成绩

A.rows = Student.objects.annotate(avg=Avg("score__number")).filter(avg__gte=60).values("id","avg")for row in rows:    print(row) 

B.rows = Student.objects.annotate(avg=Avg("score__number")).filter(avg__lte=60).values("id","avg")for row in rows:    print(row) 

C.rows = Student.objects.annotate(avg=Avg("score__number")).filter(avg__exact=60).values("id","avg")for row in rows:    print(row) 

D.rows = Student.objects.annotate(avg=Avg("score__number")).filter(avg__gt=60).values("id","avg")for row in rows:    print(row) 

 

16、(单选题)下列关于django高级后台管理说法错误的是?

A.list_display 在显示实体信息的页面上,都显示哪些字段 

B.list_display_links定义能够链接到具体实体页面的链接 

C.list_editable定义在列表页面中允许被修改的字段 

D.search_fields在列表的右侧增加过滤器,实现快速筛选 

 

17、(单选题)下列关于HttpRequest说法错误的是?

A.request.get_host() 请求的主机地址 / 域名 

B.request.GET get的请求数据 

C.request.META 请求方法 

D.request.COOKIES cookies的数据 

 

18、(多选题)关于ORM的优点,下列说法正确的是?

A.隐藏了数据访问细节,使通用数据库交互变得简单易行。 

B.ORM 避免了不规范、冗余、风格不统一的 SQL 语句,可以避免很多人为的 bug,方便编码风格的统一和后期维护。 

C.将数据库表和对象模型关联,我们只需针对相关的对象模型进行编码,无须考虑对象模型和数据库表之间的转化,大大提高了程序的开发效率。 

D.在处理多表联查、where 条件复杂的查询时,ORM 可能会生成的高效率的 SQL 

 

19、(多选题)下列描述torando和Django区别正确的选项为()

A.Django是走大而全的方向,注重的是高效开发,它最出名的是其全自动化的管理后台Tornado走的是少而精的方向,注重的是性能优越,它最出名的是异步非阻塞的设计方式 

B.Tornado实现了异步机制,Django没有 

C.Django适合初学者或者小团队,Tornado适合高度定制 

D.以上说法均不正确 

 

20、(多选题)下列关于模板说法正确的是()

A.{{}}双大括号,内容可以是任何的python表达式(变量常见) 

B.{%%}模板中的控制语句放在{%%}中 

C.模板中可以使用for语句 

D.以上说法均不正确 

 

21、(多选题)关于Django中的F和Q函数,说法正确的是()

A.F函数用于在执行中获取某列的值 

B.F函数允许Django在未实际链接数据的情况下具有对数据库字段的值的引用,不用获取对象放在内存中再对字段进行操作,直接执行原生产sql语句操作 

C.Q函数用于对对象进行复杂查询,并支持&(and),|(or),~(not)操作符 

D.Q函数不支持支持&(and),|(or),~(not)操作符 

 

22、(多选题)class scrapy.http.Request(url[, callback, method='GET', headers, body, cookies, meta,encoding='utf-8', priority=0, dont_filter=False, errback])如上所示,一个Request对象的参数分别对应什么()

A.url:此请求的网址 

B.cookies: 请求cookie 

C.encoding: 此请求的编码(默认为'utf-8')。此编码将用于对URL进行百分比编码,并将正文转换为str(如果给定unicode) 

D.callback:将使用此请求的响应(一旦下载)作为其第一个参数调用的函数。如果请求没有指定回调,parse()将使用spider的 方法。请注意,如果在处理期间引发异常,则会调用errback。 

 

23、(多选题)关于django对数据查询结果排序,错误的是()

A.排序使用order_by(),默认升序 

B.排序使用order_by(),默认降序 

C.降序需要在排序字段名前加- 

D.升序序需要在排序字段名前加- 

 

24、(多选题)下列关于模板说法正确的是()

A.模板可以继承 

B.{% extends "main.html" %}将以上语句放在新模板的顶部,即可继承该模板的所有标记 

C.模板可以嵌套 

D.有时候我们在继承父模板的同时,还需要对父模板的部分信息进行替换,这时就用到了{% block name %}{% end %}语法 

 

25、(多选题)下列是MySQL索引类型的是()

A.index 

B.unique 

C.primary key 

D.foreign key 

 

26、(多选题)Ajax是()

A.一种创建交互式网页应用的网页开发技术 

B.一种用于创建快速动态网页的技术 

C. 一种创建交互式网页应用的网页开源技术 

D.一种用于创建动态网页的技术 

 

27、(多选题)关于Django 模板的设置,说法正确的是()

A.BACKEND:指定模板的搜索引擎,不用改动 

B.DIRS:指定模板所存放的目录 

C.如果DIRS中为空的话,那么Django会自动所有每个应用中的 templates 的文件夹作为模板管理目录 

D.APP_DIRS:True:首先从DIRS中指定的文件夹中查找模板,如果没找到指定模板的话,则再搜索templates目录 

 

28、(多选题)下述代码的输出结果是什么?kv = {'k': 'v', 'x': 'y'} r = requests.request('GET', 'https://www.python87.com/ws', params=kv) print(r.url)

A.https://www.python87.com/ws?k=v&x=y 

B.https://www.python87.com/ws?x=y&k=v

C.https://www.python87.com/ws?v&y 

D.https://www.python87.com/ws?k&x 

 

29、(多选题)下列属于ajax应用场景的是()

A.验证注册名是否已使用  

B.网站页面局部登陆和退出 

C.文本框自动补全功能  

D.地图拖动、放大、缩小功能  

 

30、(多选题)Django提供的数据字段有()

A.BooleanField 

B.CharField 

C.FileField 

D.ComplexField 

 

31、(多选题)在MySQL数据库中,主键约束与唯一约束的区别有()

A.主键列的数据类型不限,但此列必须是唯一并且非空 

B.一张数据表只能有一个主键 

C.唯一性约束所在的列允许空值 

D.数据表可以包含有多个唯一约束 

 

32、(多选题)MySQL常见的数据种类有哪些()

A.数值型 

B.字符型 

C.枚举型 

D.日期时间型 

 

你可能感兴趣的:(python)