url

Django之URL调度器

社会主义新天地 提交于 2020-02-08 10:31:34
工作原理 django 通过 urlconf 来映射视图函数,只区分路径,不区分 http 方法 Django 确定要使用的根 URLconf 模块,一般是在 settings 中的 ROOT_URLCONF 设置的值 如果传入 HttpRequest 对象具有一个 urlconf 属性(由中间件设置),则其值将用于代替 ROOT_URLCONF 设置。 Django 加载该 URLconf 模块并查找变量 urlpatterns ,它是一个列表 django.urls.path() 和 / 或 django.urls.re_path() 实例。 Django 按顺序遍历每个 URL 模式,并停在与请求的 URL 匹配的第一个 URL 模式,需要特别注意编写的顺序 一旦某个 URL 模式匹配, Django 就会导入并调用给定的视图,该视图是一个简单的 Python 函数(或基于类的视图方法)。 如果没有 URL 模式匹配,或者在此过程中的任何点发生异常, Django 将调用适当的错误处理视图 简单示例 from django . urls import path from . import views urlpatterns = [ path ( 'articles/2003/' , views . special_case_2003 ) , path ( 'articles/

Javascript图片预加载详解

喜夏-厌秋 提交于 2020-02-08 06:01:03
预加载图片是提高用户体验的一个很好方法。图片预先加载到浏览器中,访问者便可顺利地在你的网站上冲浪,并享受到极快的加载速度。这对图片画廊及图片占据很大比例的网站来说十分有利,它保证了图片快速、无缝地发布,也可帮助用户在浏览你网站内容时获得更好的用户体验。本文将分享三个不同的预加载技术,来增强网站的性能与可用性。 方法一:用CSS和JavaScript实现预加载 实现预加载图片有很多方法,包括使用CSS、JavaScript及两者的各种组合。这些技术可根据不同设计场景设计出相应的解决方案,十分高效。 单纯使用CSS,可容易、高效地预加载图片,代码如下: #preload-01 { background: url(http://domain.tld/image-01.png) no-repeat -9999px -9999px; } #preload-02 { background: url(http://domain.tld/image-02.png) no-repeat -9999px -9999px; } #preload-03 { background: url(http://domain.tld/image-03.png) no-repeat -9999px -9999px; } 将这三个ID选择器应用到(X)HTML元素中

Why can't I convert this String to a URL?

て烟熏妆下的殇ゞ 提交于 2020-02-08 05:14:50
问题 I have x 2 questions about urls and webViews. Question 1: I have a string which I am getting from an API that is supposed to be a url. The string is https://godochurch.blob.core.windows.net/sermons/1031/30-1-2017-Vision Sunday-Devotion.mp3 When trying to convert to a url I'm getting nil. Here is the code: if let sermonUrl = sermonUrl { if let url = URL(string: sermonUrl) { let requestObj = URLRequest(url: url) webView.loadRequest(requestObj) } } I have worked out that the space between

PHP: Get link address from redirected URL

我是研究僧i 提交于 2020-02-08 01:31:26
问题 How can I get the link address after a URL has been redirected? Take for example this URL: http://www.boligsiden.dk/viderestilling/992cff55882a40f79e64b0a25e847a69 How can I make a PHP script echo the final URL? (http://www.eltoftnielsen.dk/default.aspx?side=sagsvisning&AutoID=125125&DID=140 in this case) 回答1: Note: The following solution isn't ideal for high traffic situations. $url = 'http://www.boligsiden.dk/viderestilling/992cff55882a40f79e64b0a25e847a69'; file_get_contents($url); preg

面对海量的数据,我们应该如何处理?

风格不统一 提交于 2020-02-08 00:55:46
一、海量数据处理 所谓海量数据处理,无非就是基于海量数据上的存储、处理、操作。何谓海量,就 是数据量太大,所以导致要么是无法在较短时间内迅速解决,要么是数据太大,导 致无法一次性装入内存。 那解决办法呢? 针对时间,我们可以采用巧妙的算法搭配合适的数据结构,如Bloom filter/Hash/bit- map/堆/trie树。 针对空间,无非就一个办法:大而化小,分而治之(hash映射)。 相关内容之后会在GitHub上更新,希望多多关注 ( 顺手留下GitHub链接,需要获取相关面试等内容的可以自己去找 ) https://github.com/xiangjiana/Android-MS 更多完整项目下载。未完待续。源码。图文知识后续上传github。 可以点击 关于我 联系我获取 二、算法/数据结构基础 1.Bloom Filter Bloom Filter(BF)是一种空间效率很高的随机数据结构,它利用位数组很简洁地 表示一个集合,并能判断一个元素是否属于这个集合。它是一个判断元素是否存在 集合的快速的概率算法。Bloom Filter有可能会出现错误判断,但不会漏掉判断。也 就是Bloom Filter判断元素不再集合,那肯定不在。如果判断元素存在集合中,有一 定的概率判断错误。因此,Bloom Filter不适合那些“零错误”的应用场合。 而在能容忍低错误率的应用场合下

学习进度07

好久不见. 提交于 2020-02-08 00:14:23
https://www.bilibili.com/video/av19956343?p=143 #POST请求 import urllib.request import urllib.parse url="http://www.sunck.wang:8085/form" #将要发送的数据合成一个字典 #字典的键取网址里找,一般为input标签的name属性的值 data={ "username":"sunck", "passwd":"666" } #对要发送的数据进行打包 postData= urllib.parse.urlencode(data).encode("utf-8") #请求体 req=urllib.request.Request(url,postData) #请求 req.add_header("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36" ) response=urllib.request.urlopen(req) print(response.read().decode("utf-8")) https://www.bilibili.com/video

fetch详解

随声附和 提交于 2020-02-07 19:22:12
window对象提供了一个fetch方法,用于实现基于promise的http请求。它取代了最早的XMLHttpRequest实现的ajax请求。 1. 基本内容 1. 基本语法 fetch方法返回一个promise对象。 const promise = fetch(url[, options]); url --发起请求的路径 options --可选设置。可以设置method, headers, body等,method默认是"GET"。 2. options配置对象 1. 如果不设置options, method默认是GET方法。 fetch(url) // 相当于 fetch(url, { method: 'GET' }) 其传参通过url传参 fetch(url+ 'a=1&b=2') 2. 当请求方法为POST/PUT/DELETE等方法时,需要传请求体body和对应的headers const user = {name: "lyra"}; fetch(url, { method: 'POST', body: {// 请求体 user: JSON.stringify(user) }, headers: {// 请求头 Content-Type: "application/json;charset=utf-8" } }) 其中请求体 body 可以接受的参数类型有:

高性能网站建设的14个原则

孤人 提交于 2020-02-07 15:40:16
今日大致浏览了一下《 High Performance Web Sites 》。本书的中文版是《 高性能网站建设指南 》。 本书另有对其中个别问题深入探究的进阶篇《 Even Faster Web Sites 》,中译《 高性能网站建设进阶指南 》。 作者介绍上面的豆瓣链接中有,就不再照搬过来了。 这本书中给出了14条网站性能提升的原则,每个原则独立成章,配有示例。这些原则大多数都非常实用,适合站点架构师、前端工程师。其中对于前端工程师的意义更大一些。 这次看的是原版。我对于Web开发较缺乏实践经验,加之看得匆忙,因此可能存在遗漏、表述不当之处,希望广大网友不吝指正。 原则1 减少HTTP请求数 构造请求、等待响应需要时间,因此请求数量越少越好。减少请求的总体思路就是合并资源,减少显示一个页面需要的文件数。 1. Image Map 通过设置<img>标签的usemap属性与使用<map>标签可以在一幅图片上切分出多个区域,指向不同的链接。比起使用多幅图片分别构造链接减少了请求数。 2. CSS Sprite(CSS贴图整合/贴图拼合/贴图定位) 通过设置元素的background-position样式做到。一般用于界面图标。典型的可以参考TinyMCE编辑器上方的那些小按钮。多个小图实质是从一个统一的大图通过不同的偏移量裁剪而来,这样加载界面上的众多按钮实际上只要请求一次

shell中的变量

ε祈祈猫儿з 提交于 2020-02-07 12:54:14
shell中的变量 文章目录 shell中的变量 变量的定义 变量的使用 修改变量的值 定义只读变量 删除变量 declare声明变量 变量的定义 变量(variable)在编程语言中用来表示数据。它本身只是一个标记,指向数据在 计算机内存中的一个或一组地址。 变量通常出现在算术运算,数量操作及字符串解析中。 定义变量的方式有三种: variable = value variable = 'value' variable = "value" variable是变量名,value是赋给变量的值 如果value不包含任何空白符(例如空格、Tab等),那么可以不使用引号;如果value包含了空白符,就必须用引号包围起来 注意: 1.=周围不能有空格 2.shell中变量没有数据类型 任何类型它都默认为字符串 变量的使用 使用一个定义过的变量,只要在变量名前加美元符号$即可。例如变量名是 variable1 , 那么 $variable1 就是对变量值的引用。注意变量仅仅在声明时、赋值时、被删除时( unset )、被导出时( export ),算 术运算中使用双括号结构((…))才不需 要有 $ 前缀。。赋值可以是使用 =(比如 var1=27 ),可以是在 read 语句中, 也可以是在循环的头部( for var2 in 1 2 3 ) #!/bin/bash url = http:

爬虫获取免费代理

自作多情 提交于 2020-02-07 12:33:12
使用说明 import json import pprint import random import sys import time import requests from fake_useragent import UserAgent from bs4 import BeautifulSoup ua = UserAgent() class ProxySpider(object): def abu_get(self, url): """使用阿布云代理 默认失败后重新发起请求""" proxy_host = "http-cla.abuyun.com" proxy_port = 9030 # 代理隧道验证信息 proxy_user = "H74JU520TZ0I2SFC" proxy_pass = "7F5B56602A1E53B2" proxy_meta = "http://%(user)s:%(pass)s@%(host)s:%(port)s" % { "host": proxy_host, "port": proxy_port, "user": proxy_user, "pass": proxy_pass, } proxies = { "http": proxy_meta, "https": proxy_meta, } retry = 3 while True: try: