小编Jon*_*han的帖子

记录模块不能与Python3一起使用

我遇到了标准日志记录模块的问题.如果我打开一个python2.7 shell并导入日志记录一切正常:

$ python
>>> import logging
>>>
Run Code Online (Sandbox Code Playgroud)

但是,如果我打开python3.4 shell并导入日志记录,我会收到以下错误:

$ python3.4
>>> import logging
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<frozen importlib._bootstrap>", line 2237, in _find_and_load
File "<frozen importlib._bootstrap>", line 2222, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 2164, in _find_spec
File "<frozen importlib._bootstrap>", line 1940, in find_spec
File "<frozen importlib._bootstrap>", line 1916, in _get_spec
File "<frozen importlib._bootstrap>", line 1897, in _legacy_get_spec
File "<frozen importlib._bootstrap>", line 863, in spec_from_loader
File "<frozen importlib._bootstrap>", line 904, …
Run Code Online (Sandbox Code Playgroud)

python logging python-3.x

11
推荐指数
3
解决办法
9606
查看次数

将文件从Python脚本保存到Docker Container

我在Docker容器中有一个简单的Python脚本:

- 调用外部API

- 从API返回许可证文件

我希望能够将返回的许可证文件保存到docker容器内的目录中.

这就是我所做的:

r = requests.post("http://api/endpoint", headers=headers, data=data, auth=("", "")
f = open('test.lic', 'w+')
f.write(r.content)
f.close()
Run Code Online (Sandbox Code Playgroud)

我的理解是,这将创建一个test.lic文件,如果一个文件尚不存在,或打开现有test.lic文件,并将请求对象的内容写入test.lic.但这不起作用.没有文件保存到Docker容器内的目录中.如果我从python shell运行这些行,它可以工作,所以我猜它与Docker容器内部有关.

python docker docker-compose

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

Okta Authentication Django

我有一个Django应用程序,我试图添加Okta身份验证.我目前已经创建了一个自定义后端,它利用Okta API对用户进行身份验证:

class OKTABackend(ModelBackend):

  def __init__(self, *args, **kwargs):
    super().__init__(*args, **kwargs)

  def authenticate(self, username=None, password=None):
    headers = {
      'Authorization': 'SSWS {}'.format(<my OKTA API token>),
      'Accept': 'application/json',
      'Content-type': 'application/json'
    }
    authentication_payload = {
      'username': username,
      'password': password
    }
    r = requests.post(
          <my OKTA app address>,
          headers=headers,
          data=json.dumps(authentication_payload)
    )

    try:
      r.raise_for_status()
      # code that finds/creates and returns user
    except:
      return None
Run Code Online (Sandbox Code Playgroud)

我有一个登录页面,其中包含一个获取用户名和密码的表单,并将信息传递给此后端进行身份验证.所有这些都有效.但是当我去OKTA网站并点击我的应用程序时,我希望它能够登录到应用程序.目前它只是重定向到我的登录页面.如何从OKTA网站启用登录到我的应用程序?

python django django-authentication okta

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