我自己无法调试一个错误。我在 Fedora 版本 35(三十五)上的 docker 镜像中运行 python 3.8.12,但无法从 python 生成线程。传输需要boto3并行运行,并且它用来concurrent.features这样做。
在没有任何依赖关系的情况下复制我的问题的最简单的示例是(从 python 文档复制)
import concurrent.futures
import urllib.request
URLS = ['http://www.foxnews.com/',
'http://www.cnn.com/',
'http://europe.wsj.com/',
'http://www.bbc.co.uk/',
'http://some-made-up-domain.com/']
def load_url(url, timeout):
with urllib.request.urlopen(url, timeout=timeout) as conn:
return conn.read()
with concurrent.futures.ThreadPoolExecutor(max_workers=5) as executor:
future_to_url = {executor.submit(load_url, url, 60): url for url in URLS}
for future in concurrent.futures.as_completed(future_to_url):
url = future_to_url[future]
try:
data = future.result()
except Exception as exc:
pass
Run Code Online (Sandbox Code Playgroud)
遗憾的是这些行的输出是
Traceback (most recent call last):
File "<stdin>", line 2, …Run Code Online (Sandbox Code Playgroud) 我正在尝试在 index.html 上显示由 new_measurement 定义的表单,但我只能设法开始IndexView()工作。我尝试了IndexView()和之间的各种组合new_measurement(),但这些都没有奏效。我知道这IndexView()不会传递任何与 相关的东西new_measurement(),new_measurement()也不会被调用,这是我问题的核心。如果有对 Django 更有经验的人能告诉我我能做什么或应该做什么,我将不胜感激。谢谢你。
这是我的views.py:
from django.shortcuts import render
from django.utils import timezone
from .models import Measurement
from .forms import MeasurementForm
from django.views import generic
class IndexView(generic.ListView):
model = Measurement
context_object_name = 'measurement_list'
template_name = 'index.html'
queryset = Measurement.objects.all()
def new_measurement(request):
if request.method == "POST":
form = MeasurementForm(request.POST)
if form.is_valid():
measurement = form.save(commit=False)
measurement.measurement_date = timezone.now()
measurement.save()
else:
form = MeasurementForm()
return …Run Code Online (Sandbox Code Playgroud) 我在这里有一个视图,它List向数据库添加一个新的并重定向到List页面。我已经get_absolute_url在模型类中进行了配置。它似乎完美地工作。
def new_list(request):
form = ItemForm(request.POST)
if form.is_valid():
list_ = List()
list_.owner = request.user
list_.save()
form.save(for_list=list_)
return redirect(list_)
else:
return render(request, 'home.html', {'form': form})
Run Code Online (Sandbox Code Playgroud)
但是当我尝试使用patchfrom模拟模型类和表单类时会出现问题unitest.mock
class TestMyLists(TestCase):
@patch('lists.views.List')
@patch('lists.views.ItemForm')
def test_list_owner_is_saved_if_user_is_authenticated(
self, mockItemFormClass, mockListClass
):
user = User.objects.create(email='a@b.com')
self.client.force_login(user)
self.client.post('/lists/new', data={'text': 'new item'})
mock_list = mockListClass.return_value
self.assertEqual(mock_list.owner, user)
Run Code Online (Sandbox Code Playgroud)
当我运行测试时,我收到如下错误:
Traceback (most recent call last):
File "/home/sjsakib/.virtualenvs/superlists/lib/python3.6/site-packages/django/core/handlers/exception.py", line 35, in inner
response = get_response(request)
File "/home/sjsakib/.virtualenvs/superlists/lib/python3.6/site-packages/django/core/handlers/base.py", line 128, in _get_response
response = …Run Code Online (Sandbox Code Playgroud) 我在使用Java绘图时遇到问题.我认为我的代码是正确的,但是当我用计时器循环它时,它不会打印任何东西.我想每秒重复一次doDrawing(g)方法.现在它只打印文本prom system.out但没有绘图.
package src;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Calendar;
import javax.swing.JPanel;
import javax.swing.Timer;
public class surface extends JPanel{
private void doDrawing(Graphics g){
Graphics2D g2d = (Graphics2D) g;
g2d.setColor(Color.black);
//souradnice stredu ciferniku
final int sx = 250;
final int sy = 250;
// inicializace promennych
int uhel = 0;
int delka = 150;
int xHodina,xMinuta,xSekunda,
yHodina,yMinuta,ySekunda;
// získání aktuálního ?asu
int HOUR = Calendar.getInstance().get(Calendar.HOUR);
int MINUTE = Calendar.getInstance().get(Calendar.MINUTE) + 1;
int SECOND = Calendar.getInstance().get(Calendar.SECOND) …Run Code Online (Sandbox Code Playgroud) python ×3
django ×2
awt ×1
concurrency ×1
django-urls ×1
django-views ×1
docker ×1
draw ×1
java ×1
mocking ×1
swing ×1
tdd ×1
timer ×1