当前位置: 首页 > news >正文

企业网站seo工作女生seo专员很难吗为什么

企业网站seo工作,女生seo专员很难吗为什么,深圳做网站的公,wordpress google字体本地一、 web 框架 1.1 web框架是什么? 别人帮咱们写了一些基础代码------》我们只需要在固定的位置写固定的代码--》就能实现一个web应用 Web框架(Web framework)是一种开发框架,用来支持动态网站、网络应用和网络服务的开发。这大多…

一、 web 框架

    1.1 web框架是什么?

别人帮咱们写了一些基础代码------》我们只需要在固定的位置写固定的代码--》就能实现一个web应用
Web框架(Web framework)是一种开发框架,用来支持动态网站、网络应用和网络服务的开发。这大多数的web框架提供了一套开发和部署网站的方式,也为web行为提供了一套通用的方法。web框架已经实现了很多功能,开发人员使用框架提供的方法并且完成自己的业务逻辑,就能快速开发web应用了。浏览器和服务器的是基于HTTP协议进行通信的。也可以说web框架就是在以上十几行代码基础张扩展出来的,有很多简单方便使用的方法,大大提高了开发的效率。

1.2   python界有个协议  wsgi协议

客户端浏览器和         ---------------------->      python web框架之间通信需要遵循这个协议
    发出来的是http请求    符合wsgi协议的web服务器         django,flask  requset response
    
    
基于这个协议的web服务器
        -wsgiref:django框架默认就用它---》性能低,并发量低--》测试阶段使用
        -uwsgi:c语言写的
        -gunicorn:python写的
        
协议到底怎么规定的:web服务器后面的  python框架一定是一个可调用的对象,必须接收两个参数(environ, start_response)--->environ它是个字典----》里面全是http请求的东西

1.3  使用wsgiref写个web服务

from wsgiref.simple_server import make_serverdef mya(environ, start_response):print(environ)start_response('200 OK', [('Content-Type', 'text/html')])if environ.get('PATH_INFO') == '/index':with open('index.html','rb') as f:data=f.read()elif environ.get('PATH_INFO') == '/login':with open('login.html', 'rb') as f:data = f.read()else:data=b'<h1>Hello, web!</h1>'return [data]# 可调用对象---》能加括号执行的对象
if __name__ == '__main__':myserver = make_server('', 8011, mya) # 请求来了---》经过wsgiref---》调用后面的可调用对象--》传入两个参数(environ, start_response)print('监听8011')myserver.serve_forever()

二、 路由控制

2.1 路由是什么?

URL配置(URLconf)就像Django 所支撑网站的目录。它的本质是URL与要为该URL调用的视图函数之间的映射表;你就是以这种方式告诉Django,对于客户端发来的某个URL调用哪一段逻辑代码对应执行
请求路径和要执行的视图函数的对应关系。

 2.2 如何使用?

-path:准确路径,精准匹配---》以后基本都是path

-re_path---》就是原来的url---》正则匹配---》非常少
-放在列表中:urlpatterns = []--->列表中得数据,必须是 path或re_path执行完的结果

2.3  path详细使用

path('admin/', login)---》
等价于:_path(route, view, kwargs=None, name=None)
第一个参数:
        准确路径,字符串
        转换器: '<int:pk>'  '<str:name>' 
            -127.0.0.1:8080/login/justin---->path('login/<str:name>', admin.site.urls),
            -视图函数中 def login(request,name)
第二个参数: 视图函数的内存地址  不要加括号
        -路由一旦匹配成功,就会执行 你写的这个视图函数(request),并且会把request对象传入
        -如果有分组的参数[有名,无名],或者转换器的参数,都会被传递到视图函数中作为参数
        -总结:放要放视图函数地址---》但是视图函数的参数:第一个是固定必须是request,后续的取决于写没写转换器,写没写有名无名分组
        
    第三个参数:kwargs 是给视图函数传递默认参数
    第四个参数:路径的别名---》后期使用反向解析得到该路径

2.4  re_path的详细使用

跟path除了第一个参数不一样,其他完全一样
    第一个参数是:正则表达式
    后期用的很少,危险性大---》原来之所以支持正则的目的是为了分组出参数
    path通过转换器能完成这个操作--》于是--》这个几乎不用

2.5  反向解析--->用在视图函数中,用在模板中

-没有转换器的情况:
        path('login/', login,name='login')
        res=reverse('login')  #当时 定义路径传入的name参数对应的字符串
    -有转换器的情况:
        path('login/<str:name>', login,name='login')
        res=reverse('login',kwargs={name:lqz})  #当时 定义路径传入的name参数对应的字符串
        生成这种路径:'login/lqz'

2.6   路由分发

-为什么默认路由匹配就匹配到了 urls.py ?
        -settings.py 有配置的
        -ROOT_URLCONF = 'django_demo02.urls'
        
    -一个app自己有自己的路由
        -在app下创建urls.py 

 三、视图层

 1 views.py 这个文件---》目前写的是视图函数

# 2 视图函数必须写成这样
def 视图函数(request):
    return 四件套


# 3 request对象
    -它是http请求(数据包---》字符串形式)---》拆分成了django中得request对象
    -常用的:
        request.path
        request.method
        request.GET
        requets.POST
        requets.body
        request.get_full_path()  # 方法
        request.files   # 前端携带文件过来---》转成了字典,根据文件的名字取到文件对象
       

    -不常用
           request.cookie
        request.session
        request.content_type  # 提交的编码格式:urlencoded(form表单),json,form-data,text/plain(一般不用,浏览器默认的格式)
        request.META: 请求头中得数据
            user-agent:HTTP_USER_AGENT
            referer:
            客户端ip地址:REMOTE_ADDR
            用户自定义的  
                定义:name=lqz
                取:request.META.get('HTTP_NAME')  # 前面加HTTP_ 把自定义的转成大写
        -request.user  # auth
        -request.is_ajax()  
        
# 4 四件套

#5 cbv
# 6 文件上传

四、今日任务

 4.1 复习MySQL分组

关键字:GROUP BY和HAVING

注:

、GROUP BY可以包含任意数目的列(能够对分组进行嵌套)。

2、GROUP BY嵌套了分组,数据将在最后规定的分组上进行汇总(建立分组时,指定的所有列都一起计算)。

3、GROUP BY子句中列出的每一个列都必须是检索列或有效的表达式(但不能是聚集函数)。如果在SELECT中使用表达式,则必须在GROUP BY子句中指定相同的表达式。不能使用别名。

4、SELECT给出多少个列,GROUP BY就给出多少个列。

5、分组列中有NULL,则NULL将作为一个分组返回。如果有多个NULL,则将他们分为一组。

6、GROUP BY子句必须出现在WHERE子句之后,ORDER BY子句之前。

4.2 get请求能携带请求体吗?

答:能

4.3  5 0.0.0.0和localhost和127.0.0.1 有什么区别?

共同点:   

  1. 都属于特殊地址。
  2. 都属于A类地址。
  3. 都是IPV4地址。

区别:

  1. 在服务器中,0.0.0.0指的是本机上的所有IPV4地址,,如果我绑定的端口指定了0.0.0.0,那么通过内网地址或外网地址都可以访问我的应用。但是如果我只绑定了内网地址,那么通过外网地址就不能访问,所以如果绑定0.0.0.0,也有一定安全隐患,对于只需要内网访问的服务,可以只绑定内网地址。
  2. 在路由中,0.0.0.0表示的是默认路由,即当路由表中完全没有找到完全匹配的路由的时候所对应的路由。

 4.4 画出django请求生命周期

http://www.ds6.com.cn/news/10758.html

相关文章:

  • 自助建站系统建的网站做排名吗天津seo方案
  • 合肥做网站的的公司长沙seo 优化选智投未来no1
  • 用html5做的商务网站西安发布最新通知
  • 网页设计的优缺点关键词优化的五个步骤
  • 哪个在家做兼职网站比较好好用的百度网盘搜索引擎
  • html写手机网站谷歌广告联盟
  • brophp框架做网站sem优化托管公司
  • 广州网站建设建航科技免费建自己的网址
  • 什么行业做网站多广东东莞最新情况
  • 房山做网站中国制造网
  • 广东网站备案查询seo站外优化平台
  • 建立网站的作用营销软件网站
  • 富阳做网站合肥网络推广外包
  • 温州网络问政平台官网seo推广营销公司
  • 做优化需要发多少个网站广告宣传网站
  • 温州网站制作报价网站seo排名免费咨询
  • 开源网站建设刷推广链接人数的软件
  • 淘宝刷单网站制作福州短视频seo获客
  • 日本手做网站电商培训心得体会
  • 网站申请支付宝接口百度极速版推广
  • 腾讯云10g数字盘做网站够么网络营销主要做些什么工作
  • 政府机关网站建设方案网络营销课程总结1500字
  • wordpress网站空间互联网下的网络营销
  • 德州网站建设教程中国新闻发布
  • wordpress调用导航包含子菜单郑州有没有厉害的seo顾问
  • 网站开发 报刊网络优化工程师简历
  • 利用php做网站教程搜索引擎哪个好
  • 淮北市建设安全监督站网站我想做网络推广找谁
  • wordpress 写博客插件苏州首页关键词优化
  • 企业网站建设方案怎么写东莞网站建设公司排名