社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
私信  •  关注

Benyamin Jafari

Benyamin Jafari 最近回复了
3 年前
回复了 Benyamin Jafari 创建的主题 » 如何在PyCharm中按顺序运行代码?

这是一个例子 subprocess 图书馆:

import subprocess

python_version = '3'
path_to_run = './'
py_name = '__main__.py'

# args = [f"python{python_version}", f"{path_to_run}{py_name}"]  # works in python3
args = ["python{}".format(python_version), "{}{}".format(path_to_run, py_name)]

res = subprocess.Popen(args, stdout=subprocess.PIPE)
output, error_ = res.communicate()

if not error_:
    print(output)
else:
    print(error_)
3 年前
回复了 Benyamin Jafari 创建的主题 » 是否可以将登录尝试的所有输入存储在django文件中?

这里有一个与Django用户集成的新答案( AbstractUser )详情如下:

模型py (创建从Django用户继承的模型):

from django.contrib.auth.models import AbstractUser
from django.db import models

class UserModel(AbstractUser):  # Inherit from django user
    last_logout = models.DateTimeField(null=True, blank=True)
    status = models.CharField(max_length=64)
    ip = models.GenericIPAddressField(null=True)

    def __str__(self):
        return '{} - {}'.format(self.username, self.ip)

信号py (记录到Django模型和日志):

from django.contrib.auth.signals import user_logged_out
from django.dispatch import receiver
from django.utils import timezone
from <model> import UserModel  # above model
from logging import getLogger

logger = getLogger(__name__)
  
def get_client_ip(request):
    x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR')
    if x_forwarded_for:
        ip = x_forwarded_for.split(',')[0]
    else:
        ip = request.META.get('REMOTE_ADDR')
    return ip


@receiver(user_logged_out)
def user_logged_out_callback(sender, request, user, **kwargs):
    ip = get_client_ip(request)
    username = request.user.username  # get the username.
    now = timezone.now()
    logger.warn('{} logged out with {} IP'.format(user, ip))  # recording to log
    UserModel.objects.filter(username=username).update(last_logout=now,
                                                   status='user_logged_out',
                                                   ip=ip
                                                   )  # recording to the model
        

[ 笔记 ]:

  • username 位于 AbstarctUser 领域。

  • 使用者 登录时间 是内置的Django 抽象用户 我不需要 (待实施)

  • 此外,您还可以实现 登录失败 以类似的方式。


7 年前
回复了 Benyamin Jafari 创建的主题 » 如何在docker compose中定义一个名为in的环境值?

使用如下行而不是 ABC:DEF: ${ABC:DEF} :

environment:
  POSTGRES_PASSWORD: any-password 

[ 更新 ]

如果 : 不能在系统中的环境变量中使用,请将:替换为 __ (双下划线)。

Configuration_in _ASP.NET _Core_Reference

所以我想应该是这样的:

ABC__DEF: <asp-environment>    
7 年前
回复了 Benyamin Jafari 创建的主题 » 如何在grafana docker容器中拥有根权限?

我找到了解决方案:

$ docker exec -it -u 0 grafana_service bash
# chmod 777 /var/lib/grafana/grafana.db

(感谢 @c4f4t0r )