小编Rub*_*ben的帖子

在django admin中添加新项时,"name"列中的空值违反了非空约束

我已经向我的管理员添加了一个新模型.这是我的models.py:

class EngineeringToolAttributeType(models.Model):
    name = models.CharField(max_length=50)
    description = models.CharField(max_length=255, blank=True, null=True)
    api_url = models.CharField(max_length=255, blank=True, null=True)
    api_field = models.CharField(max_length=50, blank=True, null=True)
    active = models.BooleanField(default=True)

    def __str__(self):
        return self.name
Run Code Online (Sandbox Code Playgroud)

而admin.py:

from extras.models import EngineeringToolAttributeType
from django.contrib import admin

class EngineeringToolAttributeTypeAdmin(admin.ModelAdmin):
    fields = ['name', 'description', 'api_url', 'api_field', 'active']
    list_display = ('name', 'description', 'api_url', 'api_field', 'active')

admin.site.register(EngineeringToolAttributeType, EngineeringToolAttributeTypeAdmin)
Run Code Online (Sandbox Code Playgroud)

当我尝试添加(通过管理员点击添加按钮)时,我收到此错误:

Internal Server Error: /website/admin/extras/engineeringtoolattributetype/add/

IntegrityError at /admin/extras/engineeringtoolattributetype/add/
null value in column "name" violates not-null constraint
Run Code Online (Sandbox Code Playgroud)

这从未发生过.我知道名字是不被允许的Null,但我仍然在添加记录.怎么可能?

django postgresql django-admin

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

当单元格的内容对于页面而言太长时,ReportLab:LayoutError

我正在尝试用7个列创建一个表。最后一列包含一个长文本,这似乎会导致错误。似乎当单元格超出页面大小时,它将引发异常。

from reportlab.lib.pagesizes import landscape, A4
from reportlab.lib.styles import getSampleStyleSheet
from reportlab.platypus import SimpleDocTemplate, LongTable, TableStyle, Paragraph
from reportlab.lib import colors
from reportlab.lib.units import mm
from datetime import date

doc = SimpleDocTemplate(response, pagesize=A4, rightMargin=30,leftMargin=30, topMargin=30,bottomMargin=18)
doc.pagesize = landscape(A4)
elements = []

styles = getSampleStyleSheet()
cell_style = styles['BodyText']
cell_style.wordWrap = 1
cell_style.fontName = 'Courier'
cell_style.spaceBefore = 30
cell_style.spaceAfter = 30

title_style = styles['Title']
title_style.fontName = 'Courier'
title = Paragraph('Export Issue Tracker (%s)' % (date.today().isoformat()), title_style)
elements.append(title)

data2 = [[Paragraph(cell, cell_style) for …
Run Code Online (Sandbox Code Playgroud)

python pdf reportlab

9
推荐指数
1
解决办法
930
查看次数

FileNotFoundError:[Errno 2]没有这样的文件或目录:使用 python pdfkit 时的“which”

我有一个奇怪的错误。我尝试使用 pdfkit 将 HTML 字符串转换为 PDF,但收到“没有这样的文件或目录:'which'”。我知道 pdfkit 使用 wkhtmltopdf,并且它尝试使用 which 来找到该实用程序。我不知道发生了什么事。'which' 工作正常,wkhtmltopdf 安装在 /usr/bin/ 上。我在这一行收到错误:

pdf = pdfkit.from_string(html, False, options=options)
Run Code Online (Sandbox Code Playgroud)

和回溯:

Traceback:  

File "/srv/zboss-git/venv/lib/python3.5/site-packages/django/core/handlers/exception.py" in inner
  39.             response = get_response(request)

File "/srv/zboss-git/venv/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response
  187.                 response = self.process_exception_by_middleware(e, request)

File "/srv/zboss-git/venv/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response
  185.                 response = wrapped_callback(request, *callback_args, **callback_kwargs)

File "/srv/zboss-git/venv/lib/python3.5/site-packages/django/contrib/auth/decorators.py" in _wrapped_view
  23.                 return view_func(request, *args, **kwargs)

File "/srv/zboss-git/venv/lib/python3.5/site-packages/django/contrib/auth/decorators.py" in _wrapped_view
  23.                 return view_func(request, *args, **kwargs)

File "/srv/zboss-git/zboss/issues/views.py" in export_comments
  453.     pdf = pdfkit.from_string(html, False, options=options)

File "/srv/zboss-git/venv/lib/python3.5/site-packages/pdfkit/api.py" in …
Run Code Online (Sandbox Code Playgroud)

pdfkit wkhtmltopdf python-pdfkit

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

jQuery UI DateTimepicker - 无法隐藏时间

我正在使用http://trentrichardson.com/examples/timepicker/上的日期时间选择器组件.试图隐藏时间选择器,但我的代码不起作用:

$('#id_start_date_time').datetimepicker('option', 'showTimepicker', false);
Run Code Online (Sandbox Code Playgroud)

jquery datetimepicker timepicker

5
推荐指数
3
解决办法
2万
查看次数

导入错误:没有名为 gtk 的模块

我有一台运行 Ubuntu 17.10 的 PC。我想运行一个使用 gtk 的 python 脚本。但是我收到以下错误:

Traceback (most recent call last):
  File "/usr/local/bin/selectvm.py", line 3, in <module>
    import gtk
ImportError: No module named gtk
Run Code Online (Sandbox Code Playgroud)

我已经尝试过很多事情,例如:

sudo apt install python-gtk2 
sudo apt install python-gtk2-dev
Run Code Online (Sandbox Code Playgroud)

但它们都不起作用。APT 说他们已经安装了。

python gtk ubuntu python-2.7

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

在Ubuntu 16.04 LTS中将PostgreSQL从9.3升级到9.5

我已经安装了Ubuntu LTS 16.04在我的机器在PostgreSQL-9.3。(自16.04版安装postgresql9.5以来,我似乎保留了此实例)。

好吧,我安装了9.5,并使用...删除了9.3。

sudo apt-get remove postgresql-9.3
Run Code Online (Sandbox Code Playgroud)

不幸的是,我不知道所有数据库和角色都在该实例(9.3)中,并且不与9.5共享。尝试与我的用户登录时不起作用,因为它们不存在于该实例/群集中(对吗?)

我试着使用Ubuntu库安装9.3,但它安装我只是9.5。如何将所有角色和数据库移至9.5?

postgresql postgresql-9.3 ubuntu-16.04

4
推荐指数
1
解决办法
2244
查看次数

django rest api:JSON解析错误 - 无法解码JSON对象

我正在使用邮递员为我的django视图创建一个POST请求

@csrf_exempt
@api_view(['POST'])
def create_user(request):
    data = JSONParser().parse(request)
    serializer = CaretakerSerializer(data=data)
    if serializer.is_valid():
        serializer.save()
        return JSONResponse(serializer.data, status=201)
    return JSONResponse(serializer.errors, status=400)
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误:

{
  "detail": "JSON parse error - No JSON object could be decoded"
}
Run Code Online (Sandbox Code Playgroud)

当我试图打印我的请求时,我得到以下内容:

------WebKitFormBoundaryrg1JNLvBOEfjkQAT
Content-Disposition: form-data; name="name"

Rubencito
------WebKitFormBoundaryrg1JNLvBOEfjkQAT
Content-Disposition: form-data; name="email"

rubencito@yahoo.com
------WebKitFormBoundaryrg1JNLvBOEfjkQAT--
Run Code Online (Sandbox Code Playgroud)

这是邮差截图:

在此输入图像描述

api django rest json

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

nginx 无法识别 css 和图像:资源被解释为样式表,但使用 MIME 类型 text/html 传输

我正在尝试在子目录中运行 Rainloop。http://babylon/webmail。我得到 css 和 js 无法识别。例如:

Resource interpreted as Stylesheet but transferred with MIME type text/html: "http://babylon/webmail/rainloop/v/1.10.5.192/static/css/rainloop/v/1.10.5.192/static/css/app.min.css?standard".
Run Code Online (Sandbox Code Playgroud)

我尝试过的一些可能(但不起作用)的解决方案:

  1. “包括/etc/nginx/mime.types;” 在 nginx.conf 中找到。
  2. 有人说,php 的位置搞砸了那部分,所以我应该添加这一行:

    fastcgi_split_path_info ^(.+.php)(/.+)$; #这一行

但它仍然不起作用。

  1. 我用 root 为 css 和 javascript 添加了新位置,但也没有。

我的配置是这样的:(它是一个包含文件)

location ^~ /webmail {
    root /srv/rainloop/public_html;
    try_files $uri $uri/ /webmail/index.php?$query_string;
    access_log /srv/rainloop/logs/access.log;
    error_log /srv/rainloop/logs/error.log;
    index index.php;
    access_log /var/log/nginx/scripts.log scripts;

    location ~ \.php$ {
        #if (!-f $request_filename) { return 404; }
        include fastcgi_params;
        #fastcgi_split_path_info ^(.+\.php)(/.+)$; #this line
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        #fastcgi_param SCRIPT_FILENAME …
Run Code Online (Sandbox Code Playgroud)

php webserver nginx mime-types

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

在/ var/run中找不到/创建php5-fpm.sock

我无法连接到php5-fpm.sock.我尝试了很多解决方案,但仍然遇到此错误:

2017/11/20 11:17:21 [crit] 9670#9670: *1 connect() to unix:/var/run/php5-fpm.sock failed (2: No such file or directory) while connecting to upstream, client: 192.168.224.8, server: babylon, request: "GET /webmail/ HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "babylon"
Run Code Online (Sandbox Code Playgroud)

我的配置是这样的:

location /webmail {
        alias /srv/roundcubemail;
        index index.php index.html;
        # Favicon
        location ~ ^/webmail/favicon.ico$ {
                root /srv/roundcubemail/skins/classic/images;
                log_not_found off;
                access_log off;
                expires max;
        }
        # Robots file
        location ~ ^/webmail/robots.txt {
                allow all;
                log_not_found off;
                access_log off;
        }
        # Deny Protected directories 
        location ~ ^/webmail/(config|temp|logs)/ {
                 deny all; …
Run Code Online (Sandbox Code Playgroud)

php nginx fpm

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

Django日志记录:无法每天创建日志

我正在尝试每天订购日志,但是当它是新的一天时,它不会创建新文件。除非我重新启动服务器,否则它将继续存储前一天的日志。我该如何解决?

我正在使用Django 1.4。

提前致谢!

LOGGING = {
'version': 1,
'disable_existing_loggers': True,
'filters': {
    'require_debug_false': {
        '()': 'django.utils.log.RequireDebugFalse'
    }
},
'formatters':{
    'verbose': {
        'format': '[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s'
    },
    'simple': {
        'format': '[%(levelname)s] %(message)s'
    },
},
'handlers': {
    'file_django': {
        'class': 'logging.FileHandler',
        'filename': '/var/log/zboss/django/log_' + date.today().strftime('%Y%m%d') + '.log',
        'formatter': 'verbose',
        'level': 'DEBUG'
    },
    'file_modules': {
        'class': 'logging.FileHandler',
        'filename': '/var/log/zboss/log_' + date.today().strftime('%Y%m%d') + '.log',
        'formatter': 'verbose',
        'level': 'DEBUG'
    },
    'mail_admins': {
        'level': 'ERROR',
        'filters': ['require_debug_false'],
        'class': 'django.utils.log.AdminEmailHandler'
    },
},
'loggers': {
    'django': …
Run Code Online (Sandbox Code Playgroud)

python django logging file

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

在 SVG 上绘制圆的一段

鉴于以下信息:

  • 白点是圆的中心。
  • 蓝色、绿色点是圆边界上的点。
  • 方向:顺时针、逆时针

使用任何点(蓝色,绿色)和白点,然后我可以得到半径并可以画一个圆。但是我不想画一个圆,而只想画蓝点和绿点之间的圆弧

将 arc 与 SVG(椭圆)结合使用,我得到了带有 large_arc_flag 的 2 个选项

在此输入图像描述

在此输入图像描述

在此示例中:第二个选项是我想要的选项:large_arc_flag=1,但有时我想要large_arc_flag=0。事实上,我只想要属于该圆的弧线。使用带有“A”的路径,由于椭圆的相交,我有 2 条弧可供选择。

我该如何解决这个问题?

谢谢!

geometry svg automatic-ref-counting

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

运行时警告:从未等待过协程。如何异步/等待回调

我有一个服务网络套接字的类,并听 PostgreSQL。使用 asyncpg,当我尝试使用 add_listener 时,出现错误:RuntimeWarning: coroutine was never awaited。如何异步/等待回调。我尝试添加“等待 self.listener”,但它不起作用。

有没有办法以另一种方式处理这个问题?

import asyncio
import http
import websockets
import asyncpg

class App(object):

    def __init__(self, loop):
        self.loop = loop
        self.ws_list = []
        self.conn = None

    async def ws_handler(self, ws, path):
        if self.conn is None:
            self.conn = await asyncpg.connect(user='xxx', password='xxx', database='pgws', host='127.0.0.1')
            await self.conn.add_listener('todo_updates', self.listener)
        print('new socket!!!')
        self.ws_list.append(ws)
        while True:
            await asyncio.sleep(1)

    async def listener(self, conn, pid, channel, payload):
        print(payload)
        for ws in self.ws_list:
            task = asyncio.create_task()
            await ws.send(payload)

if __name__ == "__main__": …
Run Code Online (Sandbox Code Playgroud)

python asynchronous python-asyncio asyncpg

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