小编ali*_*ind的帖子

使用Apache LXML和DefusedXML的Django Tastypie:错误:"使用xml方面需要lxml和defusedxml"

我有一个带有由Tastypie提供的RESTFull服务的Django应用程序.我使用easy_install来安装lxml和defusedxml,所以我可以使用xml而不是json.如果我运行manage.py runserver,它一切正常,但是如果我在同一台机器上通过apache和mod_wsgi运行它,我会从Django说出一个错误配置的错误

Usage of the xml aspects requires lxml and defusedxml
Run Code Online (Sandbox Code Playgroud)

我猜它一定是一个路径问题,但我似乎无法找到任何指向正确方向的东西.有任何想法吗?

python django mod-wsgi tastypie

4
推荐指数
1
解决办法
1462
查看次数

调用枚举.<T> valueOf()给出未经检查的强制转换警告,尽管T被声明为<T extends Enum <T >>

这必须是小事,但我没有得到它.

当它具有与Enums中完全相同的泛型声明时,为什么这会导致未经检查的强制转换编译器警告valueOf?

public static final <T extends Enum<T>> Enum toValue(T for_value, String value)  {
   try  {
      return  Enum.<T>valueOf((Class<T>)for_value.getClass(), value);
   }  catch(RuntimeException rx)  {
      throw  new IllegalArgumentException(value);
   }
}
Run Code Online (Sandbox Code Playgroud)

编译器警告:

R:\jeffy\programming\sandbox\xbnjava\xbn\util\EnumUtil.java:92: 
warning: [unchecked] unchecked cast
         Enum.<T>valueOf((Class<T>)for_value.getClass(), value);
                                                     ^
  required: Class<T>
  found:    Class<CAP#1>
  where T is a type-variable:
    T extends Enum<T> declared in method <T>toValue(T,String,String)
  where CAP#1 is a fresh type-variable:
    CAP#1 extends Enum from capture of ? extends Enum
R:\jeffy\programming\sandbox\xbnjava\xbn\util\EnumUtil.java:98: error: missing return statement
   }
   ^
1 …
Run Code Online (Sandbox Code Playgroud)

java generics enums

4
推荐指数
1
解决办法
1060
查看次数

游戏中的牌组排名

我是初学者Java学生.所以任何帮助将不胜感激!

我设计了一个类卡和类甲板,我将在我创建的游戏中使用它.到目前为止,我的游戏似乎运行得很好,但我遇到的问题在于我的卡类.我想利用我的getRank()方法来积累玩家所拥有的牌的积分(不论其合适).

例如,如果他们画了2个钻石,那么它将值2分,3分3分......等等.我已经创建了一个String[]调用ranks来尝试这样做,我认为这就是它的作用.但是,我希望所有面部卡片(如国王,女王......)的值都为10.但并非所有这些卡片都位于我的阵列中的索引10处.我可以就如何调整此问题提供一些指导吗?

先感谢您.

int rank;
int suit;
String[]ranks = { " "," ", " " } //all 13 ranks from Ace to King 
String[]suits = { " ", " ", " "} //all ranks

public Card(int rank, int suit){
   this.rank = rank;
   this.suit = suit; 
}

public void setRank(int rank){
   this.rank = rank;
}

public int getRank(){
   return rank;
}

//more code for suits

public String toString(){
   return ranks[rank]+" of "+suits[suit];
}
Run Code Online (Sandbox Code Playgroud)

java class

4
推荐指数
1
解决办法
1819
查看次数

为什么在每个 JavaDoc 行上都有一个星号前缀?

在 JavaDoc 块中的每一行之前放置星号的原因是什么?虽然这似乎是鼓励和接受的约定,而且我终于屈服于这样做,但它肯定不会使我的文档编写速度更快(尽管有助于创建它们的工具,例如Sublime 中的DocBlockr 插件) .

多行注释中的行不超过 75 个字符的一个明显好处是,您的代码可以更轻松地共享,而无需对其进行调整,并且查看者无需向右滚动即可阅读您的文档。

但是为什么要更进一步,并有这个额外的约定呢?左侧的填充空间可以使用可选的星号前缀来完成......为什么每一行?

java javadoc

4
推荐指数
2
解决办法
1116
查看次数

为什么不同的是通过flatMap工作,而不是通过map的"子流"?

我正在阅读文本行,并创建一个独特单词列表(在小写之后).我可以使用flatMap进行此操作,但无法使其与地图的"子"流一起使用.flatMap看起来更简洁,"更好",但为什么不同的工作在一个上下文而不是另一个?

顶级:

import static java.util.stream.Collectors.toList;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.regex.Pattern;

public class GetListOfAllWordsInLinesOfText {

   private static final String INPUT = "Line 1\n" +
                              "Line 2, which is a really long line\n" +
                              "A moderately long line 3\n" +
                              "Line 4\n";
   private static final Pattern WORD_SEPARATOR_PATTERN = Pattern.compile("\\W+");

   public static void main(String[] args) {
Run Code Online (Sandbox Code Playgroud)

为什么这个不同允许重复:

      final List<String> wordList = new ArrayList<>();
      Arrays.stream(INPUT.split("\n"))
            .forEach(line -> WORD_SEPARATOR_PATTERN.splitAsStream(line).
                        map(String::toLowerCase)
                        distinct().
                        forEach(wordList::add));

      System.out.println("Output via map:");
      wordList.stream().forEach(System.out::println);

      System.out.println("--------");
Run Code Online (Sandbox Code Playgroud)

输出:

Output via map:
line …
Run Code Online (Sandbox Code Playgroud)

java java-8 java-stream

4
推荐指数
1
解决办法
473
查看次数

当使用单线程Executor时,为什么"header.get()+ footer.get()"会导致死锁?

这是Java Concurrency In Practice中的 8.1列表:

public class ThreadDeadlock  {
   ExecutorService exec = Executors.newSingleThreadExecutor();

   public class RenderPageTask implements Callable<String>  {
      public String call() throws Exception  {
         Future<String> header, footer;
         header = exec.submit(new LoadFileTask("header.html"));
         footer = exec.submit(new LoadFileTask("footer.html"));
         String page = renderBody();

         //Will deadlock -- task waiting for result of subtask
         return header.get() + page + footer.get();
      }
   }
}
Run Code Online (Sandbox Code Playgroud)

在里面

第8章:线程池 >第8.1.1节线程饥饿死锁

并有标题:

"在单线程中死锁的任务Executor.不要这样做. "

为什么会导致死锁?我想 header.get()是被调用,然后footer.get()调用,每个结果都附加到字符串.为什么单个线程执行程序不足以一个接一个地运行这些?

相关章节文字:

8.1.1线程饥饿死锁

如果依赖于其他任务的任务在线程池中执行,则它们可能会死锁.在单线程执行程序中,将另一个任务提交给同一执行程序并等待其结果的任务将始终死锁.第二个任务位于工作队列中,直到第一个任务完成,但第一个任务将无法完成,因为它正在等待第二个任务的重新启动.如果所有线程都在执行被阻塞的任务,等待仍在工作队列中的其他任务,则在较大的线程池中也会发生同样的情况.这称为线程饥饿死锁 …

java multithreading

3
推荐指数
1
解决办法
202
查看次数

试图用Java实现基于文本的Hangman游戏

我需要检查用户输入的字母以及他们猜测的空格是否位于隐藏字的特定位置.

变量1等于用户猜测的空间索引..而letterGuess是他们猜测的字母.我的代码怎么样错了?

例如:秘密字是你好

hidden word is ==  -----
Run Code Online (Sandbox Code Playgroud)

用户猜测h 0 1 2 3 ,它需要检查单词索引0 1 2 3处的空格是否hello包含用户猜测"h",如果是,则需要替换-----为h----.

                 String firstSpace = guessedSpaces.substring(0,1);
                String secondSpace = guessedSpaces.substring(2,3);
                String thirdSpace = guessedSpaces.substring(4,5);
                String fourthSpace = guessedSpaces.substring(6,7);

                int one = Integer.parseInt(firstSpace);


                int two = Integer.parseInt(secondSpace);
                int three = Integer.parseInt(thirdSpace);
                int four = Integer.parseInt(fourthSpace);



     (secretWord.charAt(one)==letterGuess)
     (secretWord.charAt(one)==letterGuess)
    (secretWord.charAt(one)==letterGuess)
    (secretWord.charAt(one)==letterGuess)
Run Code Online (Sandbox Code Playgroud)

java

2
推荐指数
1
解决办法
3707
查看次数

Django ManyToManyField 在哪里/如何在数据库中表示?

更新: 刚刚发现ManytOManyField正在选中特定专辑时导致管理界面崩溃。我将它们注释掉,注释掉所有对它的引用,重新运行makemigrations和migrate,现在管理界面再次工作......这让我离使这个“最喜欢的”列工作更远了:( 请参阅此后续:为什么 Django ManyToManyField 导致管理界面崩溃?为什么没有创建直通表?


背景:我的目标是制作“最喜欢的?” 此网页中的列反映了当前登录用户最喜欢的专辑,其中每个都是“否”或“是”,并且是一个可点击的链接来切换选择。(未登录时,它们都将是灰色的“n/a”-s。)

在此处输入图片说明

因此,对于每个专辑,每个用户可能恰好有零个或一个“已收藏”条目。如果该条目存在,则他们已将其收藏。如果它不存在,他们就没有。

这是我的Album模型,带有favorited_by_users多对多列(models.py底部是完整的):

class Album(models.Model):
    OFFICIALITY = (
        ('J', 'Major studio release'),
        ('I', 'Non-major official release'),
        ('U', 'Unofficial'),
    )
    title = models.CharField(max_length=70)
    description = models.TextField(max_length=500, default="", null=True, blank=True)
    pub_date = models.DateField('release date')
    officiality = models.CharField(max_length=1, choices=OFFICIALITY)
    is_concert = models.BooleanField(default=False)
    main_info_url = models.URLField(blank=False)
    thumbnail = models.FileField(upload_to=get_upload_file_name, blank=True, null=True)

    #virtual field to skip over the through table.
    songs = models.ManyToManyField("Song", through="AlbumSong")

    favorited_by_users …
Run Code Online (Sandbox Code Playgroud)

python django

2
推荐指数
1
解决办法
3570
查看次数

在模板中打印所有 Django 表单错误的官方建议不起作用......或不理解

尽管遵循了官方文档和其他地方的建议,但我无法弄清楚如何在 Django (1.7) 模板中打印所有表单错误消息。

我有一个帐户用户/通行证管理员/管理员。我有意将 LoginForm 中允许的最小用户名长度更改为 6,以试图获得“错误长度”错误,而不是“错误用户/密码组合”错误(底部的完整表单/视图代码)。

根据官方文档,以下内容应打印所有错误消息:

{% if form.errors %}
   {% for error in form.errors %}
      <li><strong>{{ error|escape }}</strong></li>
   {% endfor %}
{% endif %}
Run Code Online (Sandbox Code Playgroud)

但它只打印“用户名”这个词。

改成这个

{% for error, msg in form.errors %}
   <li><strong>{{ error|escape }}: {{ msg|escape }}</strong></li>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

印刷

Username
u: s
Run Code Online (Sandbox Code Playgroud)

嗯?

我也试过这个,但它什么也没打印出来:

{% for error, msg in form.non_field_errors %}
   <li><strong>{{ error|escape }}: {{ msg|escape }}</strong></li>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

与此相同:

{% for error in form.non_field_errors %}
   {{error}} 
{% endfor …
Run Code Online (Sandbox Code Playgroud)

python forms django django-templates

2
推荐指数
1
解决办法
2311
查看次数

如何将python 3.4脚本作为可执行文件运行?

说,我有一个名为python的脚本hello.py,我在mac上运行:

$ python hello.py  
Run Code Online (Sandbox Code Playgroud)

我需要做什么来运行它:

$ hello  
Run Code Online (Sandbox Code Playgroud)

python bash

2
推荐指数
1
解决办法
412
查看次数