我正在使用 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)
我一直未能通过表单验证,这让我不得不拔头发。这是显示它应该可以工作的文档页面,但看起来我遗漏了什么?
编辑澄清:
该错误消息是两个start和end与它的Enter a valid date/time
问题描述
我正在尝试制作一个应用程序来收集数据、处理数据、显示数据和一些驱动(打开/关闭阀门等)。作为对我有一些更严格时间限制的未来应用程序的实践,我想在单独的线程中运行数据捕获和处理。
我当前的问题是它告诉我我无法从另一个线程启动计时器。
当前代码进度
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) 假设你有某个型号
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 …
我有这本词典:
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 ,但没有成功