小编rob*_*ter的帖子

Django 日期时间未正确验证

我正在使用 HTML5datetime-local输入类型尝试将一些日期时间数据放入我的数据库中。

ModelForm class Meta:如下所示:

class Meta:
    model = ScheduleEntry
    fields = ['calendar', 'title', 'start', 'end', 'assets', 'users']

    widgets = {
        'calendar': forms.Select(attrs={
            'class': 'fom-control chosen-select'
        }),
        'title': forms.TextInput(attrs={
            'class': 'form-control'
        }),
        'start': forms.DateTimeInput(attrs={
            'type':'datetime-local',
            'class':'form-control'
        }, format='%Y-%m-%dT%H:%M'),
        'end': forms.DateTimeInput(attrs={
            'type': 'datetime-local',
            'class': 'form-control'
        }, format='%Y-%m-%dT%H:%M'),
        'assets': forms.SelectMultiple(attrs={
            'class': 'form-control chosen-select'
        }),
        'users': forms.SelectMultiple(attrs={
            'class': 'form-control chosen-select',
        })

    }
Run Code Online (Sandbox Code Playgroud)

我一直未能通过表单验证,这让我不得不拔头发。这是显示它应该可以工作的文档页面,但看起来我遗漏了什么?

编辑澄清:

该错误消息是两个startend与它的Enter a valid date/time

python django datetime datetime-format

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

PyQt5:线程中的计时器

问题描述

我正在尝试制作一个应用程序来收集数据、处理数据、显示数据和一些驱动(打开/关闭阀门等)。作为对我有一些更严格时间限制的未来应用程序的实践,我想在单独的线程中运行数据捕获和处理。

我当前的问题是它告诉我我无法从另一个线程启动计时器。

当前代码进度

import sys
import PyQt5
from PyQt5.QtWidgets import *
from PyQt5.QtCore import QThread, pyqtSignal

# This is our window from QtCreator
import mainwindow_auto

#thread to capture the process data
class DataCaptureThread(QThread):
    def collectProcessData():
        print ("Collecting Process Data")
    #declaring the timer
    dataCollectionTimer = PyQt5.QtCore.QTimer()
    dataCollectionTimer.timeout.connect(collectProcessData)
    def __init__(self):
        QThread.__init__(self)

    def run(self):
        self.dataCollectionTimer.start(1000);

class MainWindow(QMainWindow, mainwindow_auto.Ui_MainWindow):
    def __init__(self):
        super(self.__class__, self).__init__()
        self.setupUi(self) # gets defined in the UI file
        self.btnStart.clicked.connect(self.pressedStartBtn)
        self.btnStop.clicked.connect(self.pressedStopBtn)

    def pressedStartBtn(self):
        self.lblAction.setText("STARTED")
        self.dataCollectionThread = DataCaptureThread()
        self.dataCollectionThread.start()
    def pressedStopBtn(self):
        self.lblAction.setText("STOPPED") …
Run Code Online (Sandbox Code Playgroud)

python pyqt qthread qtimer pyqt5

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

Django 自定义小部件渲染

一般问题

假设你有某个型号

class MyModel(models.Model):
    Name = models.CharField(max_length=64)
Run Code Online (Sandbox Code Playgroud)

以及您用于创作的随附表格

class CreateMyModelForm(forms.ModelForm):
    class Meta:
        model = MyModel
        fields = ['name']
Run Code Online (Sandbox Code Playgroud)

在正常情况下,当在模板中呈现表单时,我通常会循环遍历模板中的字段

{%for field in form%}
{{field}}
{%endfor%}
Run Code Online (Sandbox Code Playgroud)

当需要自定义样式时,我通常不得不将我的<div>s 和s 放入该循环中,并在子类中<span>指定基本小部件及其。attrsMeta

浏览有关该主题的Django 文档,我明白似乎我必须使用Media子类才能使所有操作发生在 的widgets属性中Meta,但我就是无法理解它。

具体问题

假设我有一个模板,其中TextInput需要呈现表单,如下模板所示

<div class="form-group input-group">
    <span class="input-group-addon">Name</span>
        <input type="text" name="name" class="form-control" placeholder="MyModel Name">
</div>
Run Code Online (Sandbox Code Playgroud)

我如何创建一个小部件,以便我可以通过使用以下方法获得相同的结果:

class CreateMyModelForm(forms.ModelForm):
    class Meta:
        model = MyModel
        fields = ['name']
        widgets={'name':MyWidget(addon="Name",placeholder="MyModel Name")}
Run Code Online (Sandbox Code Playgroud)

我知道占位符是我可以放入 的attrs …

django django-forms django-widget

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

如果其键包含单词,则删除字典项

我有这本词典:

a={'sting1':1,'string2':2,'string3':3,'string4 null':4}
Run Code Online (Sandbox Code Playgroud)

我想删除键包含空字的项目。

output={'sting1':1,'string2':2,'string3':3}
Run Code Online (Sandbox Code Playgroud)

我找到了startswith应用程序,并尝试使用 key.find('null')!=-1 ,但没有成功

python

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