我是PyCharm的新手,我正在尝试将它用于Django开发.我的应用程序结构如下:
bs3app/
??? __init__.py
??? templates
? ??? home.html
??? urls.py
??? views.py
Run Code Online (Sandbox Code Playgroud)
在bs3app/views.py
,我得到一个警告:
找不到模板文件'home.html'
源代码:
from django.shortcuts import render_to_response
def home(request):
return render_to_response('home.html')
Run Code Online (Sandbox Code Playgroud)
模板文件在那里bs3app/templates/home.html
.该home
视图可以正常工作,当我运行的网站.在项目的Django支持页面上,启用了Django支持,Django项目根目录,设置和管理脚本值都是正确的.
那么,为什么我会收到警告?根据这个PyCharm doc页面,我可以明确地标记模板目录然后警告消失,但为什么我必须这样做?考虑settings.py
到项目的文件,为什么PyCharm不能自动计算出来?
如果你需要查看其他文件,该项目在GitHub上.
作为一个新的git用户,他是SVN和CVS的专家,我正在努力让最基本的git函数工作.
我在assembla.com上使用共享仓库
我创建了一个本地克隆,并添加了一个文件:
$ git clone repository-url
$ echo "hello" > ha.txt
$ git add -A
$ git commit -a -m "haha"
$ git push
Run Code Online (Sandbox Code Playgroud)
注意:此时我得到"没有共同的参考,没有指定;什么都不做"错误.经过几个小时的谷歌搜索,我发现解决方案是键入此
$ git push origin master
Run Code Online (Sandbox Code Playgroud)
然后我去了另一台计算机,修改了文件,并提交了它(令人惊讶的是,我不需要做git push origin magic).然后我回到主计算机,再次修改它,所以我可以看到合并是如何工作的.
$ git fetch
$ git merge
Run Code Online (Sandbox Code Playgroud)
现在我收到错误:
致命:未指定提交且未设置merge.defaultToUpstream.
查看"git merge"的手册页,你必须指定如下内容:
$ git merge [< commit >..]
Run Code Online (Sandbox Code Playgroud)
问题是,我无法找出什么< commit >
意思,应该是什么.例如它应该是文件,回购,消息,版本吗?
我还没有创建一个分支 - 我只是在研究"头"或主人,因为我认为git称之为
不幸的是,谷歌对这个没什么帮助.手册页似乎希望你知道什么是< refspec >
,< commit >
和origin
是.
任何关于这个noob问题的帮助表示赞赏.
鉴于此代码:
private static class Building {
private final int left;
private final int right;
private final int height;
private Building(int left, int right, int height) {
this.left = left;
this.right = right;
this.height = height;
}
}
private PriorityQueue<Building> createMaxHeapByHeight() {
return new PriorityQueue<>(new Comparator<Building>() {
@Override
public int compare(Building o1, Building o2) {
return -Integer.compare(o1.height, o2.height);
}
});
}
Run Code Online (Sandbox Code Playgroud)
IntelliJ显示上面比较行的警告,说:
Run Code Online (Sandbox Code Playgroud)return -Integer.compare(o1.height, o2.height); // ^^^^^^^^^ // 'height' should probably not be passed as parameter 'x'
可以通过对语句的注释来抑制警告:
Run Code Online (Sandbox Code Playgroud)//noinspection SuspiciousNameCombination
好的,但这里有什么可疑的? …
处理输入时awk
,有时我想编辑其中一个字段,而不接触任何其他字段.考虑一下:
$ ls -l | awk 1
total 88
-rw-r--r-- 1 jack jack 8 Jun 19 2013 qunit-1.11.0.css
-rw-r--r-- 1 jack jack 56908 Jun 19 2013 qunit-1.11.0.js
-rw-r--r-- 1 jack jack 4306 Dec 29 09:16 test1.html
-rw-r--r-- 1 jack jack 5476 Dec 7 08:09 test1.js
Run Code Online (Sandbox Code Playgroud)
如果我不修改任何字段($1
,$2
,...),一切都因为它是保存.但是,如果我想说我只想保留第一个字段的前3个字符:
$ ls -l | awk '{$1 = substr($1, 1, 3) } 1'
tot 88
-rw 1 jack jack 8 Jun 19 2013 qunit-1.11.0.css
-rw 1 jack jack 56908 …
Run Code Online (Sandbox Code Playgroud) 我今天看到了Maven的一个非常奇怪的问题:它正在尝试构建不在我的项目中但来自依赖项的类.mvn compile
崩溃:
...
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] AppConstants.java):[4,12] unmappable character for encoding UTF-8
...
Run Code Online (Sandbox Code Playgroud)
AppConstants.java
在我的项目中没有,并且搜索grep -r AppConstants .
没有给出任何结果.该类存在于另一个工件中,该工件是我的项目的依赖项.
我设法得到我的项目通过传递编译-Dproject.build.sourceEncoding=Cp1252
到mvn compile
,但这不是解决办法,因为我的项目应该使用utf-8
的编码.果然,当编译这样,我看AppConstants.class
下target/classes/
,但它在哪里可以从何而来?这怎么可能?
最近项目的pom没有任何变化,但我知道依赖项目正在努力迁移到Maven这些天.会发生什么事?
UPDATE
AppConstants.java
我的项目中没有文件,项目AppConstants
中的任何地方都没有提到:
$ grep -ri AppConstants . # finds nothing
$ find . | grep -i AppConstants # finds nothing
Run Code Online (Sandbox Code Playgroud)
这AppConstants
存在于我所依赖的另一个项目中.我的电脑上没有其他项目的源代码.我的队友都可以重现这个问题,这不是我的电脑特有的.我们的pom最近没有改变,但我们知道其他团队的pom现在正在发生很大的变化.
我的项目中有一个类使用SomeOther
其他项目中的类.如果我建立使用-Dproject.build.sourceEncoding=Cp1252
,那么建筑工作,而我的target
文件夹我看SomeOther.class
,AppConstants.class
并从其他项目中的其他一些clases产生.如果我从我的项目中删除使用的类SomeOther
,那么我可以正常构建,虽然项目将无法工作,因为它需要其他类.
@Gus:知道它是否存在
SomeOther …
我想从字符串中提取数字,如下所示:
String numbers[] = "M0.286-3.099-0.44c-2.901,-0.436,,,123,0.123,.34".split(PATTERN);
Run Code Online (Sandbox Code Playgroud)
从这样的字符串我想提取这些数字:
那是:
Float.parseFloat
可以解析的东西,因此.34
是有效的到目前为止我所拥有的:
String PATTERN = "([^\\d.-]+)|(?=-)";
Run Code Online (Sandbox Code Playgroud)
这在某种程度上起作用,但显然远非完美:
,,,
在中间一样如何修复PATTERN以使其工作?
我需要能够使用Java运行.mp3文件,我试过这个,但无济于事:
Process process = new ProcessBuilder("C:\\Users\\<removed>\\Desktop\\Music\\Cash Cash\\Overtime.mp3")
然后跑
process.start();
Run Code Online (Sandbox Code Playgroud)
但是,它抛出了这个错误:
java.io.IOException: Cannot run program "C:\Users\<removed>\Desktop\Music\Cash Cash\Overtime.mp3": CreateProcess error=193, %1 is not a valid Win32 application
at java.lang.ProcessBuilder.start(Unknown Source)
at com.newgarbo.music.Mooseec.main(Mooseec.java:50)
Caused by: java.io.IOException: CreateProcess error=193, %1 is not a valid Win32 application
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(Unknown Source)
at java.lang.ProcessImpl.start(Unknown Source)
... 2 more
Run Code Online (Sandbox Code Playgroud)
我认为这当然是因为a Process
只适用于可执行文件/ jar,如果是,那么有人可以告诉我一种运行这些文件的方法吗?^ _ ^
当我使用IntelliJ IDEA 的Create Test功能时,它会生成带有throws Exception
子句的测试用例,例如:
Run Code Online (Sandbox Code Playgroud)@Test public void testIsInteger() throws Exception { }
这让我很恼火:我更喜欢throws
在必要时自己添加特定条款.这样,我一眼就能看出每个测试用例可能会抛出什么样的异常.
如何更改IntelliJ的这种行为以省略该throws
子句?
或者我错了想要这个?创作者似乎认为这种默认行为是件好事.
在OSX Yosemite和最新版本的meteor(1.0.1)上,无论我卸载并重新安装它多少次,我似乎无法在没有sudo的情况下运行它.我的用户帐户是管理员帐户.但流星拒绝在没有sudo的情况下运行.我得到的错误都是:
-bash: meteor: command not found
Run Code Online (Sandbox Code Playgroud)
我在这里看过几篇有类似问题的帖子.我试过用磁盘工具修复磁盘权限.我试过了:
sudo chown -R $myUsername /usr/local/bin/meteor
Run Code Online (Sandbox Code Playgroud)
我不确定我还能做什么,因为它似乎是一个权限问题.有没有人有什么建议?
可能有用的其他信息:
$ sudo which meteor
/usr/local/bin/meteor
$ sudo ls -l /usr/local/bin/meteor
-rwxrwxrwx 1 root wheel 3528 Dec 18 23:14 /usr/local/bin/meteor
$ ls -ld /usr/local/bin
drwx------ 6 502 wheel 204 Dec 18 23:14 /usr/local/bin
Run Code Online (Sandbox Code Playgroud)
顺便说一句,ls -l /usr/local/bin/meteor
只适用于sudo
.
我在最后5分钟一直盯着屏幕,似乎无法弄清楚我做错了什么:
class Example {
private final Set<String> values;
public Example(String... values) {
values = new HashSet<String>(Arrays.asList(values));
}
}
Run Code Online (Sandbox Code Playgroud)
我很惊讶为什么String[]
无法转换List<String>
为初始化HashSet<String>
它.
我收到了构建错误:
Run Code Online (Sandbox Code Playgroud)incompatible types: java.util.HashSet<java.lang.String> cannot be converted to java.lang.String[]
我的任务有什么问题?
java ×6
audio ×1
awk ×1
bash ×1
django ×1
django-views ×1
git ×1
maven ×1
meteor ×1
permissions ×1
pycharm ×1
regex ×1
sudo ×1
terminal ×1
unit-testing ×1