ランダムおすすめ記事

ホームページ作りました

2019J1第9節 湘南ベルマーレ対サガン鳥栖 燃えた!勝った!!平成最後の大勝負にベルマーレが勝利!やったぞーー!!

GWという混んでて高い時期に鳥栖戦。正直きつかったですが平成最後の大遠征をやるしかない!!!そして勝つしかない!!

その思いで行ってきましたよ。

 

続きを読む

それでも俺は明日木村朱美さんが来ると信じている

あの日僕に衝撃が走った。

sr2460.hatenablog.com

 

 

ついに木村朱美さんと会えないまま生涯を終えるのか・・・。

・・・。

しかし!!!

sr2460.hatenablog.com

 

 

去年のフライデーナイトJリーグ。

フライデーだからフライデーの表紙に木村朱美さんをというフロンターレ様の粋なはからない(いつものギャグ)によってついに木村朱美さんと会うことができたのでした。

ありがとう金J!!金J最高!!!

続きを読む

python,djangoでデータを表示する際にフィルターをかけてみよう

djangoでは以下のように記載するとモデルのデータがテンプレートに渡されます。

    context = {
    'キー名': モデル名.objects.all()
    }
    return render(request, 'アプリケーション名/html名.html', context)


でも状況によっては全ては表示したくないということもあるはず。 そんな時はこう書き換えます。

    context = {
    'キー名': モデル名.objects.filter(フィルターをかけたい条件)
    }
    return render(request, 'アプリケーション名/html名.html', context)


僕の場合はプライマリーキーと紐づいたモデルのみを出力したい!という時にfilterをかけるパターンしか作ったことはないのですが、その場合こうなります。

    context = {
        'キー名':モデル名.objects.filter(pk=pk),
    }


分かりにくいですね。全容を書きましょう。

def 関数名(request, pk):
    context = {
        'キー名':モデル名.objects.filter(pk=pk),
    }
    return render(request, 'アプリケーション名/使用したいhtml名.html', context)

(request,pk)部分がurl部分に表示されているプライマリーキー。 それを(pk=pk)で代入します。
ポイントはpkの部分でurls.pyの部分に

path('<int:pk>/', 使用する関数, 名前'),

と記載するとモデルのプライマリーキーごとにurlに数字があてがわれるので、urlに記載された数値とモデルが一つずつ持っているプライマリーキーが一致したものだけが表示されるようになります。
ちなみに以下のように書くと空欄の場合にfilterが発動して弾いてくれます。

.filter(フィルターをかけたい条件).exclude(任意の名前__exact=""),



ちなみにdjagoチュートリアルを見ているとこんな記載があります。 https://docs.djangoproject.com/ja/2.1/intro/tutorial04/ html部分なんですが、

{% for choice in question.choice_set.all %}
    <input type="radio" name="choice" id="choice{{ forloop.counter }}" value="{{ choice.id }}">
    <label for="choice{{ forloop.counter }}">{{ choice.choice_text }}</label><br>
{% endfor %}

以前フィルター関係で苦労した部分だったんですが、これはquestionに紐づいた、choiceをall表示するって意味です。(ルー語)

questionに紐づいたchoiceとはmodels.pyの

from django.db import models


class Question(models.Model):
    question_text = models.CharField(max_length=200)
    pub_date = models.DateTimeField('date published')


class Choice(models.Model):
    question = models.ForeignKey(Question, on_delete=models.CASCADE)
    choice_text = models.CharField(max_length=200)
    votes = models.IntegerField(default=0)

この部分のことで

question = models.ForeignKey(Question, on_delete=models.CASCADE)

これでclass ChoiceはQuestionに紐づくことができます。


こうすると紐づかれるクラス名(小文字).紐づくクラス名(小文字)_set.all

question.choice_set.all

という書き方でQuestionに紐づいたChoiceがすべて出力されるようになるのです。 もちろん<int:pk>部分が無ければ普通に全部表示されるだけなので特に意味はないですがこのプライマリーキーのQuesionに紐づくChoiceだけを表示する。 というときにはこう書けるのです。

もしも湘南ベルマーレのイヤーDVDに興味を持ったなら、2016年のDVDも買ってほしいと思っている。

ベルマーレのイヤーDVDが話題になっていて、ついにすっきりでも特集されるそうです。

2018年のイヤーDVDで話題になっているのは清水戦のあとのロッカールーム。

もうこれに関しては本当にすごくて、1年間チームをおってきた僕らは間違いなくこの試合はターニングポイントだったと言えるのです。

https://store.jleague.jp/club/shonan/item/P0000034137/

(在庫無しとなっていますが4/9午後に再入荷予定)

www.youtube.com

 

続きを読む

J1第6節 湘南ベルマーレ対ジュビロ磐田 サッカーとは足りないところを補い合うチームスポーツである

3勝2敗と勝ち越した状態で最初の5戦を終えたベルマーレ。

清水戦の良い流れで磐田戦を迎えましたが結果は悔しいものになりました。

 

続きを読む

松田天馬選手がMVPに決定!!2019年J1第5節 湘南ベルマーレ対清水エスパルス戦のMVPは?

2019年J1第5節 湘南ベルマーレ対清水エスパルス戦のMVPは?というテーマでアンケートを実施しました。

実はアンケートの際にリンクを間違えてしまって投票できなかった方がいたようです。申し訳ないです。

 

続きを読む