我已经在python中编程了大约两年; 主要是数据(pandas,mpl,numpy),还有自动化脚本和小型Web应用程序.我正在努力成为一个更好的程序员并增加我的python知识,困扰我的一件事是我从未使用过类(除了为小型web应用程序复制随机烧瓶代码之外).我一般都明白它们是什么,但我似乎无法理解为什么我需要它们通过一个简单的功能.
为了增加我的问题的特异性:我写了大量的自动报告,这些报告总是涉及从多个数据源(mongo,sql,postgres,apis)中提取数据,执行大量或少量数据修改和格式化,将数据写入csv/excel/html,通过电子邮件发送出去.脚本范围从~250行到~600行.我是否有理由使用课程来完成这项工作?为什么?
我想在现有的文件夹中启动新的django项目,显然得到了
CommandError: '/home/user/projectfolder' already exists.
Run Code Online (Sandbox Code Playgroud)
有没有办法强制startproject命令在现有文件夹中创建项目?我在该文件夹和git文件夹中有一些重要的数据,所以我不想将它移动到某个地方,然后将其移回.
据我所知,你不能__isnull
在django native上使用查找JSONField
.在互联网上,我发现这个不活跃的问题.作为可能的解决方法,我们当然可以使用这些黑客:
model.objects.filter(field__contains={'key': None})
,这可能不是那么灵活,因为您可能需要查询多个键或其他任何内容.
model.objects.exclude(field__key=True).exclude(field__key=False)
,这是hacky,仅适用于布尔数据.
我希望有更好的方法((c)Raymond Hettinger)这样做.任何建议将不胜感激.现在,我将采用第一种方法
最近我遇到了cosmologicon的pywats,现在尝试了解迭代器的乐趣:
>>> a = 2, 1, 3
>>> sorted(a) == sorted(a)
True
>>> reversed(a) == reversed(a)
False
Run Code Online (Sandbox Code Playgroud)
好的,sorted(a)
返回a list
并sorted(a) == sorted(a)
变成两个列表比较.但reversed(a)
回报reversed object
.那么为什么这些反转的物体不同呢?而且id的比较让我更加困惑:
>>> id(reversed(a)) == id(reversed(a))
True
Run Code Online (Sandbox Code Playgroud) 当我在PyCharm的React组件中输入props时,它会自动插入一对花括号。像这样(光标位置为|
):
<MyComp className=|
Run Code Online (Sandbox Code Playgroud)
成为:
<MyComp className={|}
Run Code Online (Sandbox Code Playgroud)
我已经搜索了设置,但是没有找到相关的设置来禁用它。是否存在?
我的 Django 应用程序在启动时(或当我执行管理命令时)加载一些文件。当我从一台 Arch 或 Ubuntu 机器上进行 ssh 工作一切正常时,我能够成功运行任何命令和迁移。
但是当我从 OS X(我有 El Capital)进行 ssh 并尝试执行相同的操作时,我收到此错误:
UnicodeDecodeError: 'ASCII' codec can't decode byte 0xc3 in position 0: ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud)
要打开我的文件,我使用with open(path_to_file) as f: ...
从 iterm 和终端进行 sshing 时会发生该错误。我发现原因是LC_CTYPE
环境变量。它没有在我的其他 Linux 机器上设置,但在 mac 上是UTF-8
这样的,所以在我 ssh 到服务器后,它被设置为相同的。我取消设置后错误已修复LC_CTYPE
。
所以真正的问题是发生了什么以及如何进一步避免这种情况?我可以在本地计算机中取消设置此变量,但这会产生一些负面影响吗?最好的方法是什么?
在vim中,当您键入a
普通模式时,您将进入光标后的插入模式.但是daw
会删除光标caw
下的单词并在光标下更改单词.我经常使用这些组合,非常有帮助.但是a
在这种情况下意味着什么呢?在其他情况下它是否有用?
我有两个模型:
class Rule(models.Model):
name = models.CharField(max_length=200)
class Channel(models.Model):
id = models.CharField(max_length=9, primary_key=True)
name = models.CharField(max_length=100)
rule = models.ForeignKey(Rule, related_name='channels', blank=True)
Run Code Online (Sandbox Code Playgroud)
而且我必须能够在RuleAdmin界面内的管理站点中添加规则通道。因此,我创建了这两个管理员模型:
class ChannelAdmin(admin.TabularInline):
model = Channel
class RuleAdmin(admin.ModelAdmin):
model = Rule
inlines = [ChannelAdmin]
Run Code Online (Sandbox Code Playgroud)
但是,当我启动服务器时,出现以下错误:
ERRORS:
<class 'main.admin.ChannelAdmin'>: (admin.E202) 'main.Channel' has no ForeignKey to 'main.Channel'.
Run Code Online (Sandbox Code Playgroud)
仍然在django shell中,我可以像这样进行查询
rule = Rule.objects.get(pk=1)
rule.channels.all()
Run Code Online (Sandbox Code Playgroud)
总有一些明显的东西,但我只是想不通。
我正在将 Python Django 项目从一台服务器移动到另一台服务器。我使用的是 Debian 7,它在目标服务器上标准安装了 python 2.7.3(原始服务器也使用 Debian 7)。
我尝试移动的项目在其父文件夹中具有以下目录:-
-env
-src
Run Code Online (Sandbox Code Playgroud)
它还有一个文件
install.pip
Run Code Online (Sandbox Code Playgroud)
现在我已经配置了 uwsgi,这些应用程序正在新的网络服务器上运行,但我想使用项目源文件夹中的manage.py。当我运行以下命令时:
python manage.py changepassword user
Run Code Online (Sandbox Code Playgroud)
我收到以下错误
File "manage.py", line 8, in <module>
from django.core.management import execute_from_command_line
ImportError: No module named django.core.management
Run Code Online (Sandbox Code Playgroud)
为了尝试解决这个问题,我安装了 virtualenv 和 pip 并构建了一个新的虚拟环境。然后我运行了以下命令:
pip install -r /sourcefolder/install.pip
Run Code Online (Sandbox Code Playgroud)
当我这样做时,我收到一个错误
Failed building wheel for Pillow
Run Code Online (Sandbox Code Playgroud)
我在线研究了这一点,并确定一个可能的解决方案是安装 libjpg,我使用以下命令完成
apt-get install libjpeg8-dev
Run Code Online (Sandbox Code Playgroud)
然后我再次运行pip install -r /sourcefolder/install.pip
,这次它完成了,没有任何错误。
我尝试再次运行该命令:-
python manage.py changepassword user
Run Code Online (Sandbox Code Playgroud)
我仍然收到错误,但现在它已经改变了。
如果我在虚拟环境之外运行该命令,我会收到以下错误:
文件“manage.py”,第8行,来自django.core.management导入execute_from_command_line导入错误:没有名为django.core.management的模块
如果我从虚拟环境内部运行命令(我已使用 install.pip 要求在其中运行了 pip),我会收到此错误
为了便于阅读等,我已将长路径更改为 /sourcepath:-
Traceback (most recent …
Run Code Online (Sandbox Code Playgroud) python ×7
django ×5
django-admin ×2
foreign-keys ×1
iterator ×1
javascript ×1
json ×1
jsx ×1
locale ×1
macos ×1
oop ×1
pip ×1
postgresql ×1
pycharm ×1
reactjs ×1
ssh ×1
vim ×1
virtualenv ×1
webstorm ×1