小编Sto*_*ica的帖子

PyCharm代码检查抱怨模板文件未找到,如何修复?

我是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上.

django django-templates django-views pycharm

34
推荐指数
3
解决办法
7812
查看次数

"未指定提交且未设置merge.defaultToUpstream"

作为一个新的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问题的帮助表示赞赏.

git

33
推荐指数
3
解决办法
2万
查看次数

IntelliJ说,应该不应该作为参数x传递

鉴于此代码:

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显示上面比较行的警告,说:

return -Integer.compare(o1.height, o2.height);
//                      ^^^^^^^^^
//                      'height' should probably not be passed as parameter 'x'
Run Code Online (Sandbox Code Playgroud)

可以通过对语句的注释来抑制警告:

//noinspection SuspiciousNameCombination
Run Code Online (Sandbox Code Playgroud)

好的,但这里有什么可疑的? …

java intellij-idea

14
推荐指数
2
解决办法
3992
查看次数

如何在awk中保留字段之间的原始空白?

处理输入时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)

awk

13
推荐指数
4
解决办法
5832
查看次数

Maven如何构建不在我的项目中的类?

我今天看到了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=Cp1252mvn compile,但这不是解决办法,因为我的项目应该使用utf-8的编码.果然,当编译这样,我看AppConstants.classtarget/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 …

java maven

11
推荐指数
1
解决办法
237
查看次数

通过拆分正则表达式从Java中的String中提取数字

我想从字符串中提取数字,如下所示:

String numbers[] = "M0.286-3.099-0.44c-2.901,-0.436,,,123,0.123,.34".split(PATTERN);
Run Code Online (Sandbox Code Playgroud)

从这样的字符串我想提取这些数字:

  • 0.286
  • -3.099
  • -0.44
  • -2.901
  • -0.436
  • 123
  • 0.123
  • 0.34

那是:

  • 可能有垃圾字符,如"M","c","c"
  • " - "符号将包含在数字中,而不是分开
  • "数字"可以是任何Float.parseFloat可以解析的东西,因此.34是有效的

到目前为止我所拥有的:

String PATTERN = "([^\\d.-]+)|(?=-)";
Run Code Online (Sandbox Code Playgroud)

这在某种程度上起作用,但显然远非完美:

  • 在示例中不跳过起始垃圾"M"
  • 不处理连续垃圾,就像,,,在中间一样

如何修复PATTERN以使其工作?

java regex

7
推荐指数
1
解决办法
1267
查看次数

如何使用Java运行文件?

我需要能够使用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,如果是,那么有人可以告诉我一种运行这些文件的方法吗?^ _ ^

java audio

7
推荐指数
1
解决办法
2491
查看次数

使IntelliJ生成测试而不抛出异常

当我使用IntelliJ IDEA 的Create Test功能时,它会生成带有throws Exception子句的测试用例,例如:

@Test
public void testIsInteger() throws Exception {

}
Run Code Online (Sandbox Code Playgroud)

这让我很恼火:我更喜欢throws在必要时自己添加特定条款.这样,我一眼就能看出每个测试用例可能会抛出什么样的异常.

如何更改IntelliJ的这种行为以省略该throws子句?

或者我错了想要这个?创作者似乎认为这种默认行为是件好事.

java unit-testing intellij-idea

6
推荐指数
1
解决办法
793
查看次数

如果没有Sudo,Meteor将无法运行?

在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.

permissions bash terminal sudo meteor

6
推荐指数
1
解决办法
4815
查看次数

无法从String数组创建Set

我在最后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>它.

我收到了构建错误:

incompatible types: java.util.HashSet<java.lang.String> cannot be converted to java.lang.String[]
Run Code Online (Sandbox Code Playgroud)

我的任务有什么问题?

java

6
推荐指数
1
解决办法
243
查看次数