小编1ma*_*man的帖子

Python:在Selenium Google ChromeDriver中禁用图片

我花了很多时间来搜索这个.在一天结束时,我结合了一些答案,它的确有效.我分享了我的答案,如果有人编辑它或者为我们提供更简单的方法,我会很感激.

1- 在Selenium禁用图像的答案Google ChromeDriver适用于Java.所以我们应该在Python中做同样的事情:

opt = webdriver.ChromeOptions()
opt.add_extension("Block-image_v1.1.crx")
browser = webdriver.Chrome(chrome_options=opt)
Run Code Online (Sandbox Code Playgroud)

2-但是下载"Block-image_v1.1.crx"有点棘手,因为没有直接的方法可以做到这一点.为此目的,而不是去:https://chrome.google.com/webstore/detail/block-image/pehaalcefcjfccdpbckoablngfkfgfgj

你可以去http://chrome-extension-downloader.com/ 并在那里粘贴扩展URL以便能够下载扩展文件.

3-然后,您将能够将上述代码与您下载的扩展文件的路径一起使用.

python selenium google-chrome web-crawler web-scraping

38
推荐指数
1
解决办法
3万
查看次数

18
推荐指数
4
解决办法
2万
查看次数

如何在Django中重定向到外部URL?

我认为这应该很容易,但我无法弄清楚.我正在尝试编写一个退出视图.我收到了一个请求.通过urls.py,我渲染我的退出视图.在此视图中,我在数据库中为用户保存了一些参数,然后我想将用户重定向到外部URL.我试过了:

return redirect('http://stackoverflow.com/')
Run Code Online (Sandbox Code Playgroud)

来自Django文档.但是,optout视图呈现训练模板而不是返回重定向,尽管参数按预期保存在数据库中.我的代码如下:

def optout(request):
    if (('REMOTE_USER' in request.META and request.META['REMOTE_USER'] != "") or 
        (request.session.get('userid', False) and request.session['userid'] != "")):
        if ('REMOTE_USER' in request.META and request.META['REMOTE_USER'] != ""):
            userid = request.META['REMOTE_USER']
        if (request.session.get('userid', False) and request.session['userid'] != ""):
            userid = request.session['userid']
        user = User.objects.get(username=userid)
        user.optout = True
        user.postpone = False
        user.save()
        return redirect('http://stackoverflow.com/')
    context = { 'userid': "" }
    return render(request, 'games/Training.html', context)
Run Code Online (Sandbox Code Playgroud)

任何帮助都非常感谢.

python django url redirect external-url

14
推荐指数
2
解决办法
1万
查看次数

在 Firestore 控制台中按 id 查询

目前,据我所知,没有用于查询 Firestore 的命令行界面。查询我们的文档的唯一方法是通过我们自己的程序或通过 Firestore 控制台来完成。在控制台中,通过 id 查询文档的唯一方法是使用浏览器的“查找”功能。但是,当集合中的文档数量增加到阈值以上时(我不知道),Google Chrome 无法找到该 ID。滚动文档列表,一遍遍地使用浏览器的查找功能来查找id,非常不方便。

请建议一种更有效的方法或实施一种更有效的方法来在 Firestore 控制台中按 id 查询文档。

firebase google-cloud-platform firebase-console google-cloud-firestore

13
推荐指数
1
解决办法
1577
查看次数

将标头添加到Django EmailMultiAlternatives

Django EmailMultiAlternatives文档中,没有关于如何添加诸如"format"或"Reply-To"之类的标题EmailMultiAlternatives.我花了一段时间才弄清楚,我发送这篇文章是为了帮助其他人节省时间.

正如您在django的源代码中所看到的,EmailMultiAlternatives继承自EmailMessage,因此它们在init构造函数中采用相同的参数.这样,我们可以添加如下标题:

msg = EmailMultiAlternatives(
    subject, message, from_email, to_list,
    headers={'Reply-To': "email@example.com", 'format': 'flowed'}
)
Run Code Online (Sandbox Code Playgroud)

python email django smtp header

10
推荐指数
1
解决办法
1333
查看次数

Python在城市和州或国家/地区的当前时间

我有一个庞大的人员数据集及其位置数据.我的一个模块仅通过此数据集ONCE,并在我的数据库中生成一个表,以将位置数据映射到时区.该模块使用geocoders,tzwhere和puts.timezone.之后,每次管理员想要向这些人发送电子邮件时,我的Django应用程序使用该时区映射表来识别每个人的当前时间,并报告管理员是否不是发送电子邮件的好时机.

位置数据包括城市和州或国家/地区名称.

为此,我结合了以下四个库:

from datetime import datetime
from geopy import geocoders
from tzwhere import tzwhere
from pytz import timezone
Run Code Online (Sandbox Code Playgroud)

为了生成时区映射表,我的模块与以下示例代码类似:

g = geocoders.GoogleV3()
tz = tzwhere.tzwhere()
locationList = ["Sackville, Canada", "Romania", "Mannheim, Germany", "New Delhi, India", "Trier, Germany", "Basel, Switzerland", "Bruxelles/Brussel, Belgium"]

for location in locationList:
    place, (lat, lng) = g.geocode(location)
    timeZoneStr = tz.tzNameAt(lat, lng)
    timeZoneObj = timezone(timeZoneStr)

    # Store timeZoneObj in the timezone mapping table.
Run Code Online (Sandbox Code Playgroud)

然后,每次管理员想要发送电子邮件时,Django应用程序都会遍历每个人的时区并识别他/她所在地区的当前时间.示例代码如下:

# for each person:
    # find the location and timezoneObj data for this …
Run Code Online (Sandbox Code Playgroud)

python country time timezone city

6
推荐指数
1
解决办法
3110
查看次数

Python请求GET需要很长时间才能响应某些请求

我使用Python请求获取方法来查询MediaWiki API,但是接收响应需要花费大量时间.相同的请求通过Web浏览器非常快速地收到响应.我有同样的问题请求google.com.以下是我在Windows 10上的Python 3.5中尝试的示例代码:

response = requests.get("https://www.google.com")
response = requests.get("https://en.wikipedia.org/wiki/Main_Page")
response = requests.get("http://en.wikipedia.org/w/api.php?", params={'action':'query', 'format':'json', 'titles':'Labor_mobility'})
Run Code Online (Sandbox Code Playgroud)

但是,我不会在检索其他网站时遇到此问题,例如:

response = requests.get("http://www.stackoverflow.com")
response = requests.get("https://www.python.org/")
Run Code Online (Sandbox Code Playgroud)

python performance get python-requests python-3.5

5
推荐指数
1
解决办法
2702
查看次数

React:如何防止在`map`中重新渲染子组件?

我试图将问题归结为一个尽可能简单的例子:

我们有一个子组件列表,每个子组件都称为NumChoice,每个子组件代表一个数字。NumChoice被包裹在React.memo. 在父组件中,我们有一个布尔数组choices,每个对应一个子组件NumChoice。首先, 的所有元素choices都是false。为了渲染子组件,我们遍历choices,并为每个选择生成相应的子组件NumChoice。我们chooseDivisibles在父组件中定义一个函数,使用useCallback它从每个子组件调用NumChoicechooseDivisibles获取NumChoice调用它的人的索引并将其对应的元素更改choicestrue。每个都是,否则,它的背景颜色是“白色”。NumChoice有一个“红色”的背景色,如果在其对应的元件choicestrue

完整代码可在:https : //codesandbox.io/s/react-rerender-l4e3c?fontsize=14&hidenavigation=1&theme=dark

包装NumChoiceinReact.memochooseDivisiblesin useCallback,我们希望只重新渲染NumChoice其相应元素发生choices变化的组件,但 React 会重新渲染它们。chooseDivisibles包含在 中useCallback,除了setChoices. 此外,NumChoice被包裹,React.memo并且只有在指定的道具改变时才应该重新渲染,但它们不会,并且改变choices不应该对重新渲染产生任何影响NumChoice。如果我们排除检查chooseDivisibles前一个和下一个 props的相等性,它会按预期工作,但我认为前一个和下一个的比较chooseDivisibles不应该影响重新渲染, …

array-map rerender reactjs usecallback react-memo

5
推荐指数
0
解决办法
3477
查看次数

如何动态添加元素到MixItUp?

我试图在mixItUp中添加基于AJAX调用的新DOM(MIX)元素,但它没有用.

javascript ajax jquery append jquery-plugins

3
推荐指数
1
解决办法
3282
查看次数

如何在 Django Settings.py 中导入另一个 Python 3 文件?

我正在使用 Python 3。我在同一目录中有两个 Python 文件:first.py 和 second.py。在 first.py 的开头,我使用:

from second import *
Run Code Online (Sandbox Code Playgroud)

但是,它返回以下错误消息:

ModuleNotFoundError: No module named 'second'
Run Code Online (Sandbox Code Playgroud)

我应该如何在 first.py 中导入它?

更新:为了澄清我的具体用例,我试图在 Django 中拆分我的 settings.py。我有一个主要的 settings.py 文件和另一个只包含机密信息的文件。我遵循以下文档该文档在 settings.py 中使用以下行:

from settings_local import *
Run Code Online (Sandbox Code Playgroud)

请注意,settings_local.py 位于同一目录中。但是,它返回以下错误消息:

ModuleNotFoundError: No module named 'settings_local'
Run Code Online (Sandbox Code Playgroud)

我知道文档说“为了与 Django 1.4 及更高版本兼容,需要修改下面列出的一些示例。” 但我不知道如何在 Python 3 中使用它。

django import importerror django-settings python-3.x

3
推荐指数
1
解决办法
3856
查看次数

让 Admin SDK 发现服务帐户时的“auth/invalid-api-key”

在 Firebase Admin SDK 文档的不同页面(例如此页面)中,建议:

如果您的代码部署在由 Google 管理的环境中,则 Admin SDK 可以尝试自动发现...为您的应用程序配置的服务帐户...要使用这些签名方法,请使用 Google 应用程序默认凭据初始化 SDK并且不指定服务帐户 ID 字符串:admin.initializeApp();

当我这样做时,我收到以下错误消息:

[错误:您的 API 密钥无效,请检查您是否已正确复制。] code: 'auth/invalid-api-key', message: '您的 API 密钥无效,请检查您是否已正确复制。'

请注意,当我在项目中手动下载并导入凭据和服务帐户 JSON 文件时,我没有收到此错误消息。

重现错误的详细信息:1-我正在使用 Firebase CLI 将其部署在 Cloud Functions 上。所以,基本上,我使用firebase deploy.

2-这是我的 Node.js 应用程序中的最少代码:

const admin = require("firebase-admin");
const config = require("./firebase-config");
admin.initializeApp();

const firebase = require("firebase");
firebase.initializeApp(config);

const functions = require("firebase-functions");
const express = require("express");
const bodyParser = require("body-parser");

const app = express();
app.use(bodyParser.json());

const cors = require("cors"); …
Run Code Online (Sandbox Code Playgroud)

api-key firebase google-cloud-platform google-cloud-functions firebase-admin

0
推荐指数
1
解决办法
4868
查看次数