我很好奇其他django开发人员如何使用迁移管理多个代码分支(例如git).
我的问题如下: - 我们在git中有多个功能分支,其中一些具有django迁移(其中一些改变字段,或者完全删除它们) - 当我切换分支(带git checkout some_other_branch)时,数据库并不总是反映新代码,所以我遇到"随机"错误,其中db表列不再存在,等等...
现在,我只是删除数据库并重新创建它,但这意味着我必须重新创建一堆虚拟数据才能重新开始工作.我可以使用灯具,但它需要跟踪哪些数据在哪里,这有点麻烦.
处理这个用例有没有好的/干净的方法?我认为post-checkoutgit hook脚本可以运行必要的迁移,但我甚至不知道迁移回滚是否完全可行.
我正在努力将音频直接录制到浏览器中并发布到网络服务器.我目前依靠flash来访问用户麦克风(使用源自https://code.google.com/p/wami-recorder/的代码)并将录制的Wav/pcm blob从flash传递给JS进行上传(使用XHR后).这工作正常,但我试图避免发送未压缩的WAV数据(我可以压缩服务器上的音频,但我试图限制CPU密集型工作).
到目前为止,我发现在客户端压缩到ogg的选项包括:
依靠闪光灯的实验室功能将音频压缩到ogg(labs.byhook.com/2011/02/15/ogg-vorbis-encoder-for-flash-alchemy-series-part-1/).由于它是闪存中的实验性功能,因此依赖它是有风险的.
将libvorbis的最小子集移植到javascript,以便浏览器可以压缩数据.这可能听起来有点傻,但我只需要短音频位(几秒钟),因此性能可能不是这样的问题.我环顾四周,但找不到任何此类项目.
一些其他浏览器特定的解决方案,如http://firefogg.org,需要大量的用户端安装才能工作,这是我不想要的.
如果存在这样的选项,我正在寻找更好的选择来解决这个问题.我显然在等待html5 getUserMedia()工作,但我需要一个解决方案同时适用于跨浏览器(不一定是100%,但至少在主要/最近的浏览器上).
我在 Ubuntu 16 上,我想添加一个 neo4j 包。我尝试了 3 种方法,都导致了同样的错误。
这些是我的尝试:
wget -O - http://debian.neo4j.org/neotechnology.gpg.key | apt-key add -
sudo wget -O - http://debian.neo4j.org/neotechnology.gpg.key | apt-key add -
sudo -i wget -O - http://debian.neo4j.org/neotechnology.gpg.key | apt-key add -
Run Code Online (Sandbox Code Playgroud)
但我总是收到此错误消息:
ERROR: This command can only be used by root.
--2016-11-04 http://debian.neo4j.org/neotechnology.gpg.key
Resolving debian.neo4j.org (debian.neo4j.org)... 52.0.233.188
Connecting to debian.neo4j.org (debian.neo4j.org)|52.0.233.188|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 4791 (4,7K) [application/octet-stream]
Saving to: ‘STDOUT’
- 0%[ ] 0 --.-KB/s in 0s
Cannot write …Run Code Online (Sandbox Code Playgroud) 我们在react-native中使用自定义键盘工作正常(这只是android,这里不需要iOS),但是当与模态对话框一起使用时会出现问题.
如下面的屏幕截图所示,键盘弹出模式下方,无法输入任何值.我们已经为模态组件尝试了几个选项,包括默认的react-native Modal组件,但它们都给出了相同的结果.
这等类似问题的评论让我觉得它可能有与模态对话框的设置和前面的国旗做在这里:
通常,您希望在当前输入法的顶部显示对话框,因为它没有理由接受文本.您可以通过使用以下代码设置WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM窗口标志(假设您的Dialog采用默认的输入焦点)来执行此操作:
getWindow().setFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM,
WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
Run Code Online (Sandbox Code Playgroud)
但是当我们使用标准的Android键盘时,它会按预期显示在模态之上,所以这似乎不是问题所在.键盘实际上是作为一个单独的RN应用程序启动的:
rootView.startReactApplication(
((ReactApplication) activity.getApplication()).getReactNativeHost().getReactInstanceManager(),
"CustomKeyboard",
bundle);
final float scale = activity.getResources().getDisplayMetrics().density;
RelativeLayout.LayoutParams lParams = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, Math.round(216*scale));
lParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, RelativeLayout.TRUE);
layout.addView(rootView, lParams);
Run Code Online (Sandbox Code Playgroud)
然后在将文本输入聚焦时显示:
activity.addContentView(keyboard, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
Run Code Online (Sandbox Code Playgroud)
我不知道Android的,但我怀疑我需要通过一些额外参数一样,这些创造的内容视图,以确保它能够超越我的情态动词的时候.我是在正确的轨道上吗?关于这些参数可能是什么的任何暗示?
编辑:这是相关代码的一部分(我认为).react-native-modal是这个,但使用react-native的默认模态组件会得到相同的结果:
import Modal from 'react-native-modal';
...(parent component code)...
render() {
...
<Modal isVisible={this.state.isShowingDialog}>
...(modal box content, all inside a <View>)...
</Modal>
...
}
Run Code Online (Sandbox Code Playgroud)
在 django admin 中,如果两者之间存在关系,您可以添加、编辑甚至删除另一个模型中的对象。
例如,如果我的代码如下所示:
class Category(models.Model):
...
class Product(models.Model):
...
category = models.ForeignKey(Category)
Run Code Online (Sandbox Code Playgroud)
当我使用 django 管理站点编辑/添加产品时,在类别字段中,我有 3 个按钮来添加/编辑/删除类别。将一个镜头添加到一个新窗口,一旦我提交表单,就会添加类别,关闭窗口,然后我返回到我的产品表单,并显示额外的类别。像这样:
如何使用表单在我的普通应用程序(管理员之外)中执行此操作?
我有 2 个 python 应用程序共享一些代码,足以让我尝试将共享部分隔离到模块/包/库中(我故意使术语含糊不清,因为我不确定解决方案是什么) 。我的所有代码都在单一存储库中,因为我希望克服管理比我们团队成员更多的存储库的一些烦恼。
目前我的文件布局如下所示:
+ myproject
+ appA
| + python backend A
| + js frontend
+ appB
| + B stuff
+ libs
+ lib1
+ lib2
Run Code Online (Sandbox Code Playgroud)
和appA都appB使用lib1和lib2(它们本质上是抽象共享数据库的数据模型)。appA是一个具有多个组件的Web应用程序,并非所有组件都是Python的。它被部署为涉及一堆容器的 Docker 堆栈。我用诗歌来管理我的依赖关系,以确保可重复的构建等...每个 python 组件(appA,appB...)都有自己的pyproject.toml文件,虚拟环境等...
appB是单独部署的。
如果有什么区别的话,所有开发都在 Linux 上进行。
我正在寻找一种干净的方法来处理库:
appA是在本地docker-compose设置中完成的。后端会在文件更改时自动重新加载(使用 docker 卷),我希望库中的更改也能发生这种情况。appB更简单,但正在迁移到 docker,所以问题将是相同的。appA. …有没有办法弄清楚特定的 Android 应用程序是如何构建的?(使用诸如meteor、ionic、react native、cordova/phonegap或纯原生框架之类的框架)
有没有办法告诉“只看应用程序”,或者是否需要反编译apk?如果是这样,你怎么知道?
(显然,你可以随时问作者,但这不好玩!)
我想问你,如何使用 DRF 处理添加/编辑/删除具有许多内联对象(如在 Django Admin + FormSet 中)的对象。例如:
Publication:
- title
- description
+ Notofications (1 and more)
- first_name
- email
+ Images (1 and more)
- title
- url
+ Attributes (1 and more)
- name
- value
Run Code Online (Sandbox Code Playgroud)
JSON 输入:
{
"title": "..",
"description": "..",
"notifications": [{"first_name": "", "email": ""}, ...]
"images": [{"title": "", "url": ""}, ...]
"attributes": [{"name": "", "value": ""}, ...]
}
Run Code Online (Sandbox Code Playgroud)
所以我认为“添加”这样的结构很简单,但是“更新”(或“修补”)和“删除”(例如其中一张图像)怎么样?整个请求应该在事务中完成,例如:如果我们对出版物的标题和图片的网址进行了一些编辑,并且网址格式错误,我们不应该保存出版物对象和图片对象。
REST API 中是否有好的模式?
谢谢你。
django ×3
python ×3
android ×2
react-native ×2
apk ×1
audio ×1
bash ×1
cordova ×1
django-admin ×1
django-forms ×1
docker ×1
flash ×1
git ×1
javascript ×1
migration ×1
modal-dialog ×1
shell ×1
ubuntu ×1