2016-10-13 8 views
1

私は__str__方法に多くのスペースを追加したいのですが、この方法は、例えば1Djangoモデルの `__str__`メソッドにスペースを追加するには?

にスペースをカットオフ:

class Spam(models.Model): 
    foo = models.IntegerField() 
    bar = models.IntegerField() 

    def __str__(self): 
     return 'more spaces {}   {}!'.format(self.foo, self.bar) 

この出力Djangoのadminに: more spaces 1 2

私が欲しい:more spaces 1 2

どうすればよいですか?

+3

スペースがありますが、Webブラウザは、単に1つのスペースとしてHTML内の任意の空白を示しています。 – RemcoGerlich

+1

スペースはブラウザによってレンダリングされない可能性が最も高いです。それがHTML標準で定義されています。 –

答えて

0

印刷方法を使用すると、okが印刷されます。

あなたはhtmlに問題があると思いますか?私は精通していないです で空白を交換してください(ただし、それはシェル内のがらくたのように見える)、または管理者でより明確な表現をしてみてください...

それとも<pre>タグに

0

を文字列をラップしてみてくださいdjango、あなたは実際にWebページで結果を確認しています。

あなたの質問に対する完全な回答は次のようになります。 HTMLページに特殊なHTML記号を使用して、テキストの2番目の部分をインデントする必要があります。あなたが行うことができます「& NBSPは」を使用するにはhttp://www.wikihow.com/Insert-Spaces-in-HTML

:あなたがここに特殊記号を確認することができます

def __str__(self): 
    space_sym = "&nbsp"*10 # hardcode magic-number of indent spaces 
    return 'more spaces {}{}{}!'.format(self.foo, space_sym, self.bar) 
+1

これは部分的な答えです:Djangoはデフォルトでエスケープするので、エスケープされないようにこれらのスペースのテンプレートに '| safe'テンプレートタグを追加する必要があります – brianpck

関連する問題