您的位置:首页 > 职场人生

Web面试题

2020-02-02 21:00 971 查看

1,djang如何解决跨域请求
启用中间件
post请求
验证码
表单中添加{%csrf_token%}

跨域请求常见方式:
资源跳转:A链接,重定向,表单提交
资源嵌入:link,script, img ,frame等dom标签,还有样式中background:url(),@font-face等外链
脚本请求:js发起的ajax请求,dom和js对象的跨域操作等

2,请解释或描述下Django架构
django架构遵循MVC设计,并有一个专有名词:MVT
M全程model,与MVC中的M功能相同,负责数据处理,内嵌套了ORM框架(业务对象和数据库的关系映射)
V全拼为View,与MVC中的C功能相同,接收HttpRequest,业务处理,返回HttpResponse(负责业务逻辑,适当时调用Model和Template)
T全拼Template,与MVC中的V功能相同,负责封装构造要返回的html,内嵌了模板引擎(负责把页面展示给用户)

3,django对数据查询结果排序如何做,降序怎么做,查询大于某个字段怎么做
排序用order_by()
降序 需要在排序 字段前加-
查询字段大于某个值,使用filter(字段名_gt=值)

4,说一下Django,MIDDLEWARES中间件的作用?
是介于request与response处理之间的一道处理过程 ,相对于轻量级,并且在全局上改变
django的输入与输出,是一个轻量,低级别的插件系统.
自定义中间件
①在project下创建一个py文件
②在settings中注册这个py文件

5,Django重定向如何实现?用什么状态码?
使用HttpResponseRedict,redict和reverse
状态码,302,301

6,什么是ajax,如何使用
能够刷新局部网页而不是重新加载整个网页
①,创建xmlhttprequest对象,var xmlhttp = new XMLHttpRequest(); XMLHttpRequest对象用来和服务器交换数据
②,使用xmlhttprequest对象的open()和send()方法发送资源请求给服务器
③,使用xmlhttprequest对象的responseText或responseXMl属性获得服务器响应,
④,onreadystatechange函数,当发送请求到服务器,我们想要服务器响应执行一些功能就需要onreadystatechange函数,
每次xmlhttprequest对象的readyState发生一些改变会触发onreadystatechange函数

7,常见的http状态?
1XX 信息状态码
2XX 成功状态码
3XX 重定向状态码
4XX 客户端错误状态码
5XX 服务器错误状态码

8,cookie和session的区别
①,cookie数据存放在客户的浏览器上,session数据放在服务器上.
②,session安全性高于cookie
③,cookie占用服务器性能方面比session低
④,单个cookie保存的数据不能超过4k
⑤,登录等重要信息放为session,其他保留信息放在cookie

9,Post和Get的区别
①,get在回退时是无害的,而post会再次请求
②,get产生的url地址可以被收藏,而post不会
③,get请求参数会被完整保留在浏览器历史记录中,而post中的参数不会被保留
④,get请求在url中传送的参数的长度有限制,post没有
⑤,get参数通过url传递,post放在request body中

10,orm数据库及其操作
称为对象-关系映射
主要实现模型对象到关系 数据库数据的映射,把数据表中每条记录映射为一个模型对象
优点:对数据库的操作都转化 成对类,属性和方法的操作,不用编写各类数据库的sql语句
不再关注使用的是mysql,oracle…等数据库类型
缺点:相比较直接使用sql语句操作数据库有性能损失

11,常见的视图响应方式是什么?
视图响应 返回使用HttpResponse
redirect重定向

12,创建Django工程,Django app,以及运行 的命令
工程:指定 目录下创建:django-admin startproject 工程名
app:python manage.py startapp app名

关联项目
在settings配置中关联
开启服务
python manage.py runserver

13,权限管理
①:在models中建立权限的名称和描述信息 .这个信息是在django admin 中设置时显示的信息
②:建立一个权限表Permission,将权限的名称,url名称,请求方法(get or post),参数列表保存 进去
③:定义判断 权限的方法

14,settings有哪些配置
配置静态文件mysql数据库的配置,配置打印日志到屏幕语言 配置模板 setting文件默认代码注释

15,静态资源加载
1,静态资源
1,在django项目中放在static目录下的就是静态资源,如:css,js,img文件,html
2,注意如果html放在static就是静态的
2,动态资源
1,一些可以动态运行的代码,如:python,template语言下的html
2,template语言下的html其实django的一种特殊的语言

15,django执行流程
1,app中添加template,在该文件夹中添加html页面
2,在app中的view.py文件中编写视图解析函数
3,在url.py中配置路径关联解析函数
4,通过路径地址访问页面

16,django含义哪些文件夹及文件
templates:文件夹,模板
static:静态资源文件
view.py:视图:处理用户发出的请求,从urls.py中对应过来,通过渲染templates中的网页可将显示内容,
如登录后的用户名,用户请求的数据,输出到网页
settings.py:配置文件
urls.py:资源定位符:关联到对应的views中的函数,访问一个地址对应一个函数
models.py:与数据库相关操作,存入或读取数据时需要这个
forms.py:用户在浏览器上 输入数据提交,对数据库的验证工作及输入框的生成 等工作(可不用)
admin:管理,一个强大的后台

17,ajax内部有哪些参数
url:请求对应的地址
timeout:请求超时用到的属性
data:要求Object或String类型的参数,发送到服务器的数据
success:请求成功后调用的 回调函数
error:请求失败时被调用的函数
glaobal:要求Boolean类型的参数,默认为true
jsonp:要求为String类型的出纳室,在一个jsonp请求中 重写 回调函数的名字
username:要求为String类型的参数,用于响应Http访问认证请求的用户名
password:要求为String类型的参数,用于响应Http访问认证请求的密码

18,session:是保存在服务器端的键值对
工作过程:
1,生成随机字符串
2,写到用户浏览器的cookie中
3,保存到session中
4,在随机字符串对应的字典中设置相关内容

20,Openstarck
一个旨在为公共及私有云的建设与管理提供软件的开源项目,
OpenStack被公认作为基础设施即服务(简称IaaS)资源的
通用前端。

21,相对路径、绝对路径, 用哪个好?
就是当要打开py文件所处的文件时只要使用相对路径就行了,而要使用其他文件夹的则需使用绝对路径

22,django和flask区别 其他框架:Tornada(前端框架)
django:
1,自带数据库管理app
2,python web框架的先驱,第三方库丰富
3,上手容易,开发文档详细、完善、资料丰富

flask:
1,适用于做小型网站以及web服务的API,开发大型网站无压力,架构需自行设计
2,与关系型数据库结合不弱于Django,而与非关系型数据库的结合远远优于Django

23,logging模块
Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级、日志保存路径、日志文件回滚等

(万能)
用户管理模块:登录,写入session,退出,删除session.登录,一个url地址,先进行get和post请求判断,如果是get请求,
先判断是否存在身份信息的session,如果有,则直接请求转发至对应的页面,如果没有,则请求转发至登录HTML页面,
如果是post请求,则需要获取登录身份,登录账号,登录密码三个数据,如果登录验证失败则提示用户账户密码输入有误,
重新转入登录页面,如果验证正确则分别跳转到对应的主页上,用户退出时,删除对应的session.

  • 点赞
  • 收藏
  • 分享
  • 文章举报
孤单一个人狂欢 发布了6 篇原创文章 · 获赞 0 · 访问量 75 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: