我遇到了在运行 pytest 之前从未见过的奇怪错误,我正在运行测试,并且几乎所有错误都由于不允许访问数据库而出错。
这是上周没有发生的新错误,因此它不是本地代码更改,但我不确定到底发生了什么。
有人能指出我正确的方向吗?
这是错误:
conftest.py:52:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.8/site-packages/django/db/models/query.py:287: in __iter__
self._fetch_all()
/usr/local/lib/python3.8/site-packages/cacheops/query.py:271: in _fetch_all
return self._no_monkey._fetch_all(self)
/usr/local/lib/python3.8/site-packages/django/db/models/query.py:1308: in _fetch_all
self._result_cache = list(self._iterable_class(self))
/usr/local/lib/python3.8/site-packages/django/db/models/query.py:53: in __iter__
results = compiler.execute_sql(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size)
/usr/local/lib/python3.8/site-packages/django/db/models/sql/compiler.py:1154: in execute_sql
cursor = self.connection.cursor()
_ _ _ _ _ …Run Code Online (Sandbox Code Playgroud) 我有一个项目,我需要填写预制的 PDF,我想到的最合乎逻辑的解决方案是将预制的 PDF 制作成 PDF 表单,以便输入值应该放在标签中,然后我可以查看 PDF 中的表单标签,并将它们与值字典对齐。
我已经使用PyPDF2完成了这项工作。总的来说,我拍了一张网络表单的图像,然后打开 Acrobat 并根据图像中看到的字段创建了一个 PDF 表单,然后使用PyPDF2来填写 PDF 表单字段,但需要注意的是打印那些填写的值似乎在某些浏览器中存在问题,Firefox 就是其中之一。
我如何将我的 PDF 表单转换为标准/平面 PDF 以便我可以保留预先填充的值,但会丢失可编辑的字段(因为我认为这是问题所在)?
from io import BytesIO
import PyPDF2
from django.http import HttpResponse
from PyPDF2.generic import BooleanObject, NameObject, IndirectObject
def pdf_view(request):
template = 'templates/template.pdf'
outfile = "templates/test.pdf"
input_stream = open(template, "rb")
pdf_reader = PyPDF2.PdfFileReader(input_stream, strict=False)
if "/AcroForm" in pdf_reader.trailer["/Root"]:
pdf_reader.trailer["/Root"]["/AcroForm"].update(
{NameObject("/NeedAppearances"): BooleanObject(True)})
pdf_writer = PyPDF2.PdfFileWriter()
set_need_appearances_writer(pdf_writer)
if "/AcroForm" in pdf_writer._root_object:
# Acro form is form field, …Run Code Online (Sandbox Code Playgroud) 我正在尝试将项目更新到 Django 3,但在评估对象时遇到了一个奇怪的错误,指出:
TypeError: from_db_value() missing 1 required positional argument: 'context'
我在这里阅读 Django 文档:https://docs.djangoproject.com/en/3.0/releases/3.0/#features-removed-in-3-0
删除了对 Field.from_db_value() 和 Expression.convert_value() 上下文参数的支持。
但我不明白我需要做什么来解决这个问题,因为我的电话只是为了得到错误......
apps = Application.objects.filter(completed=False, canceled=False)
for app in apps:
print(app)
Run Code Online (Sandbox Code Playgroud)
有什么我没有得到的吗?
这是完整的回溯,它似乎没有给我任何帮助
Traceback (most recent call last):
web_1 | File "/usr/local/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34, in inner
web_1 | response = get_response(request)
web_1 | File "/usr/local/lib/python3.7/site-packages/django/core/handlers/base.py", line 115, in _get_response
web_1 | response = self.process_exception_by_middleware(e, request)
web_1 | File "/usr/local/lib/python3.7/site-packages/django/core/handlers/base.py", line 113, in _get_response
web_1 | response = wrapped_callback(request, *callback_args, **callback_kwargs)
web_1 …Run Code Online (Sandbox Code Playgroud) 我有一个 python 字典,我想根据键压缩成一个不同的字典:
{'field1_0': 'FieldName1', 'field2_0': 'DataType1',
'field1_1': 'FieldName 2', 'field2_1': 'DataType2'}
Run Code Online (Sandbox Code Playgroud)
在这篇文章中我的钥匙是自动表单字段名称和它们由后“提供的数字分组_ ”: field1_0,field2_0进行分组并且field1_1,field2_1由于尾号进行分组。
我想将这些分组元素组合起来,并将它们压缩成一个键值对的字典,其中分组项目的每个值都在新的字典中。
例如,以上面的字典为例。我想要一个看起来像这样的字典:
{'FieldName1': 'DataType1', 'FieldName2': 'DataType2'}
Run Code Online (Sandbox Code Playgroud)
对于我正在做的事情的上下文:我有一些动态 Django 表单,允许用户在我的项目中创建自定义报告。为此,我有 1 个表单,允许他们输入所需字段数的数字。提交此表单时,动态表单会根据输入的元素数量创建 2 个字段(1 个用于字段名称,1 个用于数据类型,即'field1_{x}': 'field name'和'field2_{x}':'datatype')。我将提交这个创建我们正在讨论的 dict 的提交,并将其传递到一个不同的动态表单中,该表单根据字段名称和数据类型创建字段,然后中提琴您有可以根据 3rd 方声明创建的自定义表单。
python ×4
django ×2
dictionary ×1
django-3.0 ×1
pdf ×1
pdfrw ×1
pypdf2 ×1
pytest ×1
python-3.x ×1