我正在尝试加载json文件.更新并将其写回.这是我的尝试,但我收到一个错误:
TypeError:dump()至少需要2个参数(给定1个)
with open('employees.json') as data_file:
employees = json.load(data_file)
data_file.close
employees['employees'].append({
"id": "2",
"name": "Rob Croft",
"key": "0003837852"})
with open('employees.json', 'w') as data_file:
json.dump(employees)
data_file.close
Run Code Online (Sandbox Code Playgroud) 我试图通过SSH将我的python程序连接到远程MySQL数据库.
我正在使用Paramiko用于SSH和SQLAlchemy.
这是我到目前为止:
import paramiko
from sqlalchemy import create_engine
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('host', port=port, username='user', password='pass')
engine = create_engine('mysql+mysqldb://user:pass@host/db')
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:
sqlalchemy.exc.OperationalError: (_mysql_exceptions.OperationalError) (2003, "Can't connect to MySQL server on 'mcsdev.croft-it.com' (60)")
Run Code Online (Sandbox Code Playgroud) 我正在尝试将django-channels合并到我的下一个项目中,但我遇到调试问题.我已经尝试过pycharms调试器和pdb,但它没有遇到断点.
我写了一个小应用程序,允许用户创建自己的excel报告。我的一个查询将列表解包.values()以返回列。我遇到的问题是尝试迭代/引用返回的值,因为我不知道报告中包含哪些值。
这是我的尝试:
queryset = Claim.objects.filter(client=client, creation__year=year, creation__month=month)\
.values(*values).order_by('id')
for i, c in enumerate(queryset):
for ii, r in enumerate(c):
print c
Run Code Online (Sandbox Code Playgroud)
我懂了
TypeError: 'Claim' object is not iterable
Run Code Online (Sandbox Code Playgroud) 我正在尝试向我的base.html添加一个haystack搜索,以便在我的网站上全局包含它.当我提交搜索时,它会出错
我正进入(状态:
Django-Haystack:'NoneType'对象没有属性'_default_manager'
我已将其添加到INSTALLED_APPS和我的urls.py. ./manage.py rebuild_index运行正常.
models.py:
class Site(models.Model):
site_name = models.CharField(max_length=100, blank=False, null=False)
site_manager = models.CharField(max_length=100, blank=False, null=False)
address_1 = models.CharField(max_length=100, blank=False, null=False)
address_2 = models.CharField(max_length=100, blank=True, null=True)
address_3 = models.CharField(max_length=100, blank=True, null=True)
town_city = models.CharField(max_length=100, verbose_name='Town/City')
county = models.CharField(max_length=100, blank=False, null=False)
postcode = models.CharField(max_length=100, blank=False, null=False)
region = models.CharField(max_length=100, blank=True, null=True)
tel = models.CharField(max_length=100, blank=False, null=False)
email = models.EmailField(max_length=100, blank=False, null=False)
creation = models.DateField(auto_now_add=True)
last_modified = models.DateField(auto_now=True)
def __unicode__(self):
return self.site_name
Run Code Online (Sandbox Code Playgroud)
SiteIndex.py:
class SiteIndex(indexes.SearchIndex, indexes.Indexable):
text = indexes.CharField(document=True, …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用django rest_framework_jwt.我可以让它生成一个令牌,但当我尝试将其在标题中发送到受保护的视图时,我得到"未提供身份验证凭据".
我发送的标头的格式是:
"Authorization": "Token SomeRandomToken"
Run Code Online (Sandbox Code Playgroud)
settings.py
INSTALLED_APPS = [
...
rest_framework.authtoken
]
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework.authentication.TokenAuthentication',
'rest_framework_jwt.authentication.JSONWebTokenAuthentication',
),
'DEFAULT_PERMISSION_CLASSES': (
'rest_framework.permissions.IsAuthenticated',
),
}
Run Code Online (Sandbox Code Playgroud)
views.py
class UserList(mixins.ListModelMixin,
mixins.CreateModelMixin,
generics.GenericAPIView):
permission_classes = (permissions.IsAuthenticated,)
authentication_classes = (JSONWebTokenAuthentication,)
queryset = User.objects.all()
serializer_class = UserSerializer
Run Code Online (Sandbox Code Playgroud) 我正在尝试从我的 python 脚本中执行 SQLite 插入。
我收到一个错误:
table history has 4 columns but 3 values were supplied
Run Code Online (Sandbox Code Playgroud)
之所以有3而不是4,是因为第一个是我的ID。我假设当我将它声明为主键时,它会自动递增该值。如何插入身份证
.py:
c.execute("INSERT INTO history VALUES (?,?,?)", (q[0],t,in))
Run Code Online (Sandbox Code Playgroud)
。D b
CREATE TABLE history (id integer primary key, employeeID integer, time datetime, inout varchar);
Run Code Online (Sandbox Code Playgroud) 我有一个有两个日期字段的表单.我试图从两个输入中选择日期并将它们与JQuery进行比较.我遇到的问题是它返回NaN.
我想可能是因为typeof日期返回字符串.
$('#id_date_completed').change(function() {
date_received = $("#id_date_received").val();
date_completed = $("#id_date_completed").val();
var diff = date_completed - date_received;
var days = diff / 1000 / 60 / 60 / 24;
console.log(days);
}
Run Code Online (Sandbox Code Playgroud)
编辑
我的问题不同于在javascript中获取2个日期之间的差异?因为我正在使用bootstrap-datepicker库.Arun P Johny的回答很完美
我想在django中创建一个用户定义的查询集.我已经尝试将值列表传递给.values_list().这给了我AttributeError:'list'对象没有属性'split'错误.有没有办法可以做到这一点?
col_list = ['col1', 'col2', 'col3']
Obj.objects.all().values_list(col_list)
Run Code Online (Sandbox Code Playgroud)
编辑:
col_list由用户选择的内容定义.在用户将列传递给视图之前,列或列名称的数量是未知的.这就是我使用列表的原因.
我一直在努力让自己绕过类方法一段时间。我知道它们如何工作,但我不明白为什么要使用它们或不使用它们。
例如。
我知道我可以使用这样的实例方法:
class MyClass():
def __init__(self):
self.name = 'Chris'
self.age = 27
def who_are_you(self):
print('Hello {}, you are {} years old'.format(self.name, self.age)
c = MyClass()
c.who_are_you()
Run Code Online (Sandbox Code Playgroud)
我也知道,通过使用类方法,可以调用who_are_you()而不创建类的实例:
class MyClass():
name = 'Chris'
age = 27
@classmethod
def who_are_you(cls):
print('Hello {}, you are {} years old'.format(cls.name, cls.age)
MyClass.who_are_you()
Run Code Online (Sandbox Code Playgroud)
我不明白为什么你会选择另一种方法
我试图在反应组件中测试一个方法.该组件是一个表单,应该测试handleSubmit()方法在单击提交按钮时被调用.我试过以下.
it('handlesSubmit when submit button is clicked', () => {
wrapper.find(Button).simulate('click');
expect(wrapper.instance().handleSubmit).toHaveBeenCalled();
})
Run Code Online (Sandbox Code Playgroud)
这给了一个错误jest.fn() value must be a mock function or spy.所以我尝试了这个:
it('handlesSubmit when submit button is clicked', () => {
const handleSubmit = jest.fn();
wrapper.find(Button).simulate('click');
expect(handleSubmit).toHaveBeenCalled();
})
Run Code Online (Sandbox Code Playgroud)
这个错误说 Expected mock function to have been called
我正在ValueError: current limit exceeds maximum limit使用我的Django应用程序.如果我从安装应用程序中删除haystack,它就会消失.我已经尝试升级haystack,降级haystack,删除与haystack相关的所有代码,但它仍然是一个问题.
完全追溯:
File "./manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/Users/user/pyProjects/projects/env/lib/python2.7/site-packages/django/core/management/__init__.py", line 338, in execute_from_command_line
utility.execute()
File "/Users/user/pyProjects/projects/env/lib/python2.7/site-packages/django/core/management/__init__.py", line 312, in execute
django.setup()
File "/Users/user/pyProjects/projects/env/lib/python2.7/site-packages/django/__init__.py", line 18, in setup
apps.populate(settings.INSTALLED_APPS)
File "/Users/user/pyProjects/projects/env/lib/python2.7/site-packages/django/apps/registry.py", line 85, in populate
app_config = AppConfig.create(entry)
File "/Users/user/pyProjects/projects/env/lib/python2.7/site-packages/django/apps/config.py", line 86, in create
module = import_module(entry)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/Users/user/pyProjects/projects/env/lib/python2.7/site-packages/haystack/__init__.py", line 56, in <module>
maxnofile[1]))
ValueError: current limit exceeds maximum limit
Run Code Online (Sandbox Code Playgroud)
安装的应用:
INSTALLED_APPS = (
'django.contrib.admin', …Run Code Online (Sandbox Code Playgroud) 我正在尝试向表单中的字段添加一个类。当我检查呈现的模板时,它缺少我添加的类。
形式:
from crispy_forms.helper import FormHelper, Layout
from crispy_forms.layout import Field
class OperationsCalendarForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
self.helper = FormHelper()
self.helper.layout = Layout(
Field('start', css_class="datetimepicker")
)
super(OperationsCalendarForm, self).__init__(*args, **kwargs)
class Meta:
model = OperationsCalendar
exclude = ('creation', 'last_modified')
Run Code Online (Sandbox Code Playgroud)
表单.html
{{ form|crispy }}
Run Code Online (Sandbox Code Playgroud)
我得到:
<input class="dateinput form-control" id="id_start" name="start" type="text">
Run Code Online (Sandbox Code Playgroud) django ×7
python ×7
datepicker ×1
django-1.9 ×1
enzyme ×1
javascript ×1
jestjs ×1
jquery ×1
json ×1
paramiko ×1
pycharm ×1
reactjs ×1
sqlalchemy ×1
sqlite ×1