用户如何在多个设备中登录,因为我们拥有的只是我们的django应用程序上的单个令牌身份验证.作为经过身份验证的用户,当我在Google Chrome上登录时,它工作正常,但是当我在mozilla时间访问并且我在Chrome注销时,已经创建的令牌在注销时被删除,所以当我在mozilla登录时,令牌已经是我们无法登录mozilla并在控制台上抛出Forbidden响应.
在Django中,是否可以通过类似于过滤的字典来创建?
这是我的 models.py:
class Personnels(models.Model):
name = models.CharField(max_length=100)
Run Code Online (Sandbox Code Playgroud)
这是我的观点.py:
from . models import *
def artists(request):
personnels = Personnels.objects.all()
if request.method == "POST":
data = {"name": "Dean Armada"}
Personnels.objects.create(data)
Run Code Online (Sandbox Code Playgroud)
但是上面的代码会抛出错误。我真正想做的是创建一个来自“request.POST”的函数,但我上面的观点只是一个简单的例子
当我看到我request.META.get('wsgi.url_scheme')
返回的http和我request.scheme
返回的https时,我觉得很奇怪
这就是我的请求对象字典的样子:
{'session': <django.contrib.sessions.backends.cache.SessionStore object at 0x7fec7ff57a90>, '_post': <QueryDict: {u'notify_page': [u'https://example.com/my/deposit/success/'], u'bank': [u'CMB'], u'transaction_id': [u'2017051111382524291123'], u'payment_type': [u'1']}>, 'COOKIES': {'csrftoken': 'Y3FRFDfvK6U2dkgVr3KarzJE6GUdAZ1I', 'sessionid': 'uuoxols288i9018fw11coz1yvvwn9ndh', 'auth_req': ''}, '_post_parse_error': False, 'resolver_match': ResolverMatch(func=pay.views.perform, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[]), 'user_agent': <SimpleLazyObject: <function <lambda> at 0x7fec842d2c80>>, '_stream': <_io.BytesIO object at 0x7fec84017cb0>, '_body': 'transaction_id=2017051111382524291123¬ify_page=https%3A%2F%2Fexample.com%2Fmy%2Fdeposit%2Fsuccess%2F&bank=CMB&payment_type=1', '_files': <MultiValueDict: {}>, '_read_started': True, 'META': {'HTTP_REFERER': 'https://example.com/my/deposit', 'HTTP_X_FORWARDED_SSL': 'on', 'SERVER_SOFTWARE': 'gunicorn/19.7.1', 'SCRIPT_NAME': u'', 'REQUEST_METHOD': 'POST', 'PATH_INFO': u'/payment/', 'HTTP_ORIGIN': 'https://example.com', 'SERVER_PROTOCOL': 'HTTP/1.0', 'QUERY_STRING': '', 'HTTP_X_REAL_IP': '180.232.79.194', 'CONTENT_LENGTH': …
Run Code Online (Sandbox Code Playgroud) 我知道您可以使用 postgresql.conf 中的以下配置显示持续时间和日志查询
------------------------------------------------------------------------------
CUSTOMIZED OPTIONS
------------------------------------------------------------------------------
log_statement = 'all'
log_duration = on
log_line_prefix = '{"Time":[%t], Host:%h} '
Run Code Online (Sandbox Code Playgroud)
然后返回日志,如
{"Time":[2018-08-13 16:24:20 +08], Host:172.18.0.2} LOG: statement: SELECT "auth_user"."id", "auth_user"."password", "auth_user"."last_login", "auth_user"."is_superuser", "auth_user"."username", "auth_user"."first_name", "auth_user"."last_name", "auth_user"."email", "auth_user"."is_staff", "auth_user"."is_active", "auth_user"."date_joined" FROM "auth_user" WHERE "auth_user"."id" = 1
{"Time":[2018-08-13 16:24:20 +08], Host:172.18.0.2} LOG: duration: 7.694 ms
Run Code Online (Sandbox Code Playgroud)
但是我可以将持续时间和语句组合在一行中吗?
LOG: { statement: ..., duration: 7.694 ms}
Run Code Online (Sandbox Code Playgroud) 序列化器字段是否可以使用模型的自定义方法,并将参数作为其来源?就像是:
模型.py
class Sample(models.Model):
name = models.CharField(max_length=100, default=None)
def sample_method(self, param):
if param == 'x':
return 1
elif param == 'y':
return 0
Run Code Online (Sandbox Code Playgroud)
序列化程序.py
class SampleSerializer(serializers.ModelSerializer):
x = # serializer field that returns sample_method custom method with a parameter of 'x'
y = # serializer field that returns sample_method custom method with a parameter of 'y'
class Meta:
model = Sample
fields = ('x', 'y')
Run Code Online (Sandbox Code Playgroud)
它应该作为响应返回类似于:
{'x': 1, 'y': 0}
Run Code Online (Sandbox Code Playgroud) 这是我创建的第一个模型
class IPAddresses(models.Model):
'''
@brief Class for ip addresses.
@attrs name Can be company name
'''
ip = models.GenericIPAddressField()
name = models.CharField(max_length=150, null=True, blank=True)
active = models.BooleanField(default=True)
def __unicode__(self):
return self.ip
class Authentication(models.Model):
'''
@brief Custom Authentication for dashboard
@attrs name can be a name of a person
'''
name = models.CharField(max_length=100, null=True, blank=True)
password = models.CharField(max_length=200, unique=True)
ip = models.ManyToManyField(IPAddresses, blank=True)
Run Code Online (Sandbox Code Playgroud)
但是,我将“IPAddresses”的模型名称更改为“IPAddress”并运行迁移。很好,但是我的下一次迁移不是,并且一直收到此值错误:
Apply all migrations: admin, auth, cache_admin, contenttypes, core, provider, saba_dashboard, sessions
Traceback (most …
Run Code Online (Sandbox Code Playgroud) 我知道如何渲染序列化器的形式作为一个整体,但我不知道如何单独渲染它类似于模板上的django表单
{{ form.name }}
{{ form.name.errors }}
Run Code Online (Sandbox Code Playgroud)
我当前的文件和代码如下:
models.py
# Create your models here.
from django.db import models
from pygments.lexers import get_all_lexers
from pygments.styles import get_all_styles
LEXERS = [item for item in get_all_lexers() if item[1]]
LANGUAGE_CHOICES = sorted([(item[1][0], item[0]) for item in LEXERS])
STYLE_CHOICES = sorted((item, item) for item in get_all_styles())
class Snippet(models.Model):
created = models.DateTimeField(auto_now_add=True)
title = models.CharField(max_length=100, blank=True, default='')
code = models.TextField()
linenos = models.BooleanField(default=False)
language = models.CharField(choices=LANGUAGE_CHOICES, default='python', max_length=100)
style = models.CharField(choices=STYLE_CHOICES, default='friendly', max_length=100)
class Meta:
ordering …
Run Code Online (Sandbox Code Playgroud) 是否可以在django-admin中将模型描述或描述放在某个模型的列表显示页面上?
我说的是当您点击django-admin主页上的模型名称链接时以及当您转到该模型的列表显示页面时.将在表格上写下描述.就像是
"此模型用于记录将由我们的scrape提取的所有帐户......依此类推"
这样的事情,有可能吗?
是否可以通过带有模式的元数据在journalctl中进行搜索。我现在正在做的就是像这样搜索journalctl CONTAINER_NAME=cranky.hello --lines=100 -f
。但我想要实现的是搜索“.”之后的所有内容。一些搜索模式,例如journalctl CONTAINER_NAME=cranky.* --lines=100 -f
. 它还将搜索CONTAINER_NAME 元数据,例如:
下面是执行journalctl时的输出示例:
Journalctl CONTAINER_NAME=cranky.hello --lines=100 -f
Oct 17 14:33:35 lottery-staging docker[55587]: chdir: /usr/src/app
Oct 17 14:33:35 lottery-staging docker[55587]: daemon: False
Oct 17 14:33:35 lottery-staging docker[55587]: raw_env: []
Oct 17 14:33:35 lottery-staging docker[55587]: pidfile: None
Oct 17 14:33:35 lottery-staging docker[55587]: worker_tmp_dir: None
Journalctl CONTAINER_NAME=cranky.hello --lines=100 -f -o json
{ "__CURSOR" : "s=d98b3d664a71409d9a4d6145b0f8ad93;i=731e;b=2f9d75ec91044d52b8c5e5091370bcf7;m=285b067a063;t=55bbf0361352a;x=64b377c33c8fba96", "__REALTIME_TIMESTAMP" : "1508250837136682", "__MONOTONIC_TIMESTAMP" : "2773213487203", "_BOOT_ID" : "2f9d75ec91044d52b8c5e5091370bcf7", "CONTAINER_TAG" : "", "_TRANSPORT" …
假设我有一个这样的部署模板
spec:
minReadySeconds: 15
readinessProbe:
failureThreshold: 3
httpGet:
path: /
port: 80
scheme: HTTP
initialDelaySeconds: 20
periodSeconds: 20
successThreshold: 1
timeoutSeconds: 5
Run Code Online (Sandbox Code Playgroud)
这将如何影响我的应用程序的新版本?将minReadySeconds
同时initialDelaySeconds
计数吗?那么initialDelaySeconds
会先来minReadySeconds
吗?
django ×7
python ×6
django-admin ×1
gunicorn ×1
kubernetes ×1
linux ×1
nginx ×1
postgresql ×1
regex ×1