我正在使用 Django 和 Python 3.7。我正在尝试通过向现有日期时间添加秒数来计算新的日期时间。从这里 -在 Python 中将 N 秒添加到 datetime.time 的标准方法是什么?,我以为我可以做到
new_date = article.created_on + datetime.timedelta(0, elapsed_time_in_seconds)
Run Code Online (Sandbox Code Playgroud)
其中“article.created_on”是日期时间,“elapsed_time_in_seconds”是整数。但上述结果导致
type object 'datetime.datetime' has no attribute 'timedelta'
Run Code Online (Sandbox Code Playgroud)
错误。我错过了什么
我使用的是 Django、Python 3.7 和 PyCharm 2018.3.5。我试图通过右键单击测试名称并选择“运行测试:'测试名称'”来在 PyCharm 中运行测试。这会导致以下错误
RuntimeError: Model class appname.models.Label doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.
Run Code Online (Sandbox Code Playgroud)
这是有问题的模型,位于我的 models.py 文件的顶部......
class Label(models.Model):
name = models.CharField(max_length=200)
def __str__(self):
return self.name
class Meta:
unique_together = ("name",)
Run Code Online (Sandbox Code Playgroud)
非常奇怪的是,如果我在 PyCharm 之外运行测试(例如在终端命令提示符下使用“python manage.py test”),一切都会正常运行。所以问题似乎是 PyCharm 的一些配置错误。我不清楚如何进一步解决这个问题。以下是我的项目目录结构...
appname
__init__.py
__pycache__
admin.py
apps.py
fixtures
management
migrations
models.py
services.py
static
templates
tests.py
views.py
manage.py
templates
venv
appname_project
Run Code Online (Sandbox Code Playgroud)
编辑:我将环境变量编辑为以下内容
PYTHONUNBUFFERED=1
DJANGO_DEVELOPMENT=true
DJANGO_SETTINGS_MODULE=appname_project.settings
Run Code Online (Sandbox Code Playgroud)
这是因为我的设置文件是特定于环境的,所以我的开发文件的路径是
appname_project/settings/dev.py
Run Code Online (Sandbox Code Playgroud)
但即使添加上述结果也会导致相同的错误。
使用 Django 和 Python 3.7。我正在尝试编写一个查询来给出两个日期之间差异的平均值。我的模型中有两个字段,都是“DateTimeField”,我尝试像这样计算平均差异
everything_avg = Article.objects.aggregate(
avg_score=Avg(F('removed_date') - F('created_on'), output_field=models.DateTimeField())
).filter(removed_date__isnull=False)
return everything_avg
Run Code Online (Sandbox Code Playgroud)
但在运行上述命令时我最终收到此错误
AttributeError: 'dict' object has no attribute 'filter'
Run Code Online (Sandbox Code Playgroud)
获得平均值的正确方法是什么?
我在 Mac Mojave 上使用 selenium-side-runner v 3.11.0。我想在无头 Chrome 浏览器中运行测试,但是,添加“--headless”似乎不起作用。当我跑
PATH=/Users/davea/Documents/workspace/starter_project/selenium/dev/:$PATH selenium-side-runner --headless -c "browserName=chrome" myTest.side
Run Code Online (Sandbox Code Playgroud)
测试仍在我的机器上运行的 Chrome 窗口中打开。(我希望测试每次都能新鲜运行,不受我可能为自己使用的任何打开的 Chrome 窗口的影响)。
selenium command-line google-chrome headless selenium-webdriver
我正在使用 Angular 7。我编写了一个真正简单的测试类,src/app/pastebin.ts,
export class Pastebin {
id: number;
title: string;
language: string;
paste: string;
constructor(values: Object = {}) {
Object.assign(this, values);
}
}
export const Languages = ["Ruby","Java", "JavaScript", "C", "Cpp"];
Run Code Online (Sandbox Code Playgroud)
然后一个真正简单的 Jasmine 规范 src/app/pastebin.spec.ts 来测试它,
/* pastebin.spec.ts */
//import the Pastebin class
import { Pastebin } from './pastebin';
describe('Pastebin', () => {
it('should create an instance of Pastebin',() => {
expect(new Pastebin()).toBeTruthy();
});
})
Run Code Online (Sandbox Code Playgroud)
但是当我去运行测试时,我收到一些错误,看起来像是与我所做的事情相关的任何错误......
localhost:Pastebin davea$ ng test
10% building modules 1/1 modules 0 active30 08 2019 …Run Code Online (Sandbox Code Playgroud) 我正在使用 Django 2.0、Python 3.7 和 Django PhoneNumber 字段——https: //github.com/stefanfoulis/django-phonenumber-field并因此设置了我的模型......
class Coop(models.Model):
name = models.CharField(max_length=250, null=False)
type = models.ForeignKey(CoopType, on_delete=None)
address = AddressField(on_delete=models.CASCADE)
enabled = models.BooleanField(default=True, null=False)
phone = PhoneNumberField(null=True)
email = models.EmailField(null=True)
web_site = models.TextField()
Run Code Online (Sandbox Code Playgroud)
我已经在我的 settings.py 文件中添加了这个...
PHONENUMBER_DB_FORMAT="RFC3966"
Run Code Online (Sandbox Code Playgroud)
但是,当我使用以下 JSON 提交表单时...
{
"name": "3999",
"type": {
"name": "Coworking Space"
},
"address": {
"street_number": "222",
"route": "1212",
"raw": "222 W. Merchandise Mart Plaza, Suite 1212",
"formatted": "222 W. Merchandise Mart Plaza, Suite 1212",
"latitude": 41.88802611,
"longitude": -87.63612199,
"locality": { …Run Code Online (Sandbox Code Playgroud) 我想构建一个汉堡菜单以显示在我的 React 16.13.0 应用程序的移动版本上。我正在关注本教程 - https://www.zacwillmington.com/how-to-add-a-hamburger-menu-to-your-website/。所以我像这样创建了我的导航栏组件
import React, { Component } from 'react';
import { NavLink } from 'react-router-dom';
import HamburgerMenu from 'react-hamburger-menu';
import {isMobile} from 'react-device-detect';
import './NavBar.css';
class NavBar extends Component {
constructor(){
super()
this.state = {
open: false,
hideOrShowHambugerDropDown: 'nav'
}
}
handleClick = () => {
this.setState({open: !this.state.open});
}
displayHamburgerMenu = () => {
return (
<HamburgerMenu
isOpen={this.state.open}
menuClicked={this.handleClick.bind(this)}
width={18}
height={15}
strokeWidth={1}
rotate={0}
color='black'
borderRadius={0}
animationDuration={0.5}
/>
)
}
displayNavBar = () => {
return …Run Code Online (Sandbox Code Playgroud) 我想按照此处的说明在我的 React 16.12 应用程序中使用 ReactTags - https://www.npmjs.com/package/react-tag-input。我安装了 react-dnd 11.1.1 。下面是我的 package.json 文件
{
"name": "client",
"version": "0.1.0",
"private": true,
"dependencies": {
"@testing-library/jest-dom": "^4.2.4",
"@testing-library/react": "^9.4.0",
"@testing-library/user-event": "^7.2.1",
"bootstrap": "^4.4.1",
"jquery": "^1.9.1",
"react": "^16.12.0",
"react-bootstrap": "^1.0.0-beta.17",
"react-device-detect": "^1.12.1",
"react-dnd": "^11.1.1",
"react-dnd-html5-backend": "^11.1.1",
"react-dom": "^16.12.0",
"react-hamburger-menu": "^1.2.1",
"react-native-flash-message": "^0.1.15",
"react-router-dom": "^5.1.2",
"react-scripts": "3.3.1",
"react-tag-input": "^6.4.3",
"typescript": "^3.8.3"
},
"scripts": {
"start": "react-scripts start",
"build": "NODE_ENV=development react-scripts build",
"build:prod": "NODE_ENV=production react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"eslintConfig": {
"extends": …Run Code Online (Sandbox Code Playgroud) 在 SQL Server 中,如果我想从命令行运行脚本,我可以这样做
/opt/mssql-tools/bin/sqlcmd -S $DB_HOST -U $DB_USER -P $DB_PASS -d $DB_NAME -i myscript.sql
Run Code Online (Sandbox Code Playgroud)
是否可以在没有脚本的情况下仅运行单个命令并获得结果?例如,如果我只是想跑
SELECT 1
Run Code Online (Sandbox Code Playgroud)
我该如何从命令行执行此操作?
我正在使用 React 16.13 和 Bootstrap 4。我有以下表单容器......
const FormContainer = (props) => {
...
const handleFormSubmit = (e) => {
e.preventDefault();
CoopService.save(coop, setErrors, function(data) {
const result = data;
history.push({
pathname: "/" + result.id + "/people",
state: { coop: result, message: "Success" },
});
window.scrollTo(0, 0);
});
};
return (
<div>
<form className="container-fluid" onSubmit={handleFormSubmit}>
<FormGroup controlId="formBasicText">
...
{/* Web site of the cooperative */}
<Button
action={handleFormSubmit}
type={"primary"}
title={"Submit"}
style={buttonStyle}
/>{" "}
{/*Submit */}
</FormGroup>
</form>
</div>
);
Run Code Online (Sandbox Code Playgroud)
是否有标准方法来禁用提交按钮以防止重复提交表单?问题是,如果从服务器返回的表单中有错误,我希望再次启用该按钮。下面是我上面引用的“CoopService.save”...
...
save(coop, setErrors, …Run Code Online (Sandbox Code Playgroud) django ×4
python-3.x ×4
python ×3
reactjs ×3
command-line ×2
datetime ×2
angular ×1
angular7 ×1
bootstrap-4 ×1
button ×1
css ×1
css-position ×1
date ×1
disable ×1
form-submit ×1
headless ×1
jasmine ×1
phone-number ×1
pycharm ×1
react-dnd ×1
selenium ×1
sql-server ×1
sqlcmd ×1
tags ×1
testing ×1
validation ×1