日記サイトにTwitterのようなイイね機能を実装したくて、ネットで色々調べていたのですがどのサイトも私には小難しく、理解に至らないところが多いです。????
このような形でモデルを作っており、一つの記事にいいねができ、その合計も表示されるようなまさにTwitterのような機能を作りたいのですが、どなたか簡単に理解できるようコーディングも交えて説明していただけませんか、、。
javascriptも今まで学習してこなくて理解できていないところも多いので、なるべく細かくご説明していただきたいです。よろしくお願いいたします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
ベストアンサー
言語やフレームワークに限らないですが、
ここだけで全て得ようとするのは、単に質問に対する回答という枠を越えます。この文章内容で「質問である」と捉える人は少ないでしょう。
もっと要件を細分化し、実現までの道筋をなるべく小さく部品化していってはどうでしょうか。
「javascriptも今まで学習してこなくて」なら基礎から学習すれば良い話で、
「まさにTwitterのような機能を作りたい」のであれば動かしてみて何が必要か自分で考えてみるのがまずやることです。
具体的に書かれていないので何をどう調べたのか知らないですが、もし「日記にいいねができる機能」という探し方をしていたのでしたらキーワードが大きすぎて見つかる情報は少ないでしょうし、今のご自身の理解度では解決の糸口にはなりにくいでしょう。
なぜなら、あなたが作っている日記アプリケーションはあくまであなたが作ったものであって、他人が作ったものではないですし、そのままが転がっていることはほぼないからです。
そのままを求めるのではなく「どういう部品があれば実現できるかを考えること」です。
私もこのような質問に対するアドバイスとしてよく書くのですが
1つのことを実現するための手段は1つではありません。
「”Hello World”と出力せよ」という課題において絶対唯一の解答は存在しないのです。
例え言語やフレームワークを指定したとしても、十人十色でしょう。
だからこそ「実現のためにどういう道筋が考えられるか」を考えることが大事です。
なので、
どなたか簡単に理解できるようコーディングも交えて説明していただけませんか、、。
これは愚問で、質問ではなく作業依頼に等しいです。
どこかの誰かが書いたコードはどこかの誰かが書いたコードであって、あなたの
コードではありませんし、今の理解度で例えコードをもらったとして、あなたのものにはならず、自身の日記アプリケーションに盛り込むことも出来ないでしょう。
コードを画像で提示されてもコピペできないのでものすごく手間で面倒な状態から、理解の得られなさそうな質問者へ、直接のアドバイスをしたい人はいないと思います。
コードそのものを求めるのではなく、自身がやりたいことと、現状を整理し、細分化し、やろうとしていることのためにどのような要素が必要なのか考えてください。
teratailのガイドラインにも今置かれている状況を整理し、わかっている範囲とわからない範囲を明確にしましょうというのがあります。
私自身もプログラミングを使って作りたいものがある時の調べ方、プログラムの組み立て方という質問に回答したことがあります。
参考にしてください。
ちなみに「何が必要か考えるのも難しい」「何一つ手がつかない」のであれば、それに手を出す段階ではないと思って良いです。いったん忘れて基礎学習に邁進してください。
既にある機能「のようなもの」といっても、その既にある機能はあくまでアプリケーション要件にそって作られたものであり、その作りは結局作った人しか分からないので、想像するしかないのです。
そして、その機能は自身の作ろうとしているものそのまま当てはめられることの方が少ないので、やはり考えるしかありません。
twitterの「いいね」よりもteratailの高評価・低評価のほうが「日記」には近いでしょけど、要件が違うので、「近い」だけであって、「そのまま考え方を適用できる」わけではないですしね。
日記自体がどういう人に読まれ、どういう人が「いいね」できるのか
「いいね」で登録する情報は何なのか、誰がいいねしたのか把握したいのかどうか
同一人物による「いいね」は許可するのか などなどなどなど などなど
実現手法を考える前に、決めるべきことが沢山あります。
仕様なので、決めるのは「作る人」です。
投稿2020/06/24 14:27
編集2020/06/24 14:50総合スコア80875
0
えーと、ManyToManyでUserと結べばいいと思いますが、
Python
1class Smart(models.Model): 2 # いろいろ 3 good = models.ManyToManyField("CustomUser", blank=True, related_name="sm_gooder") 4```とかで、 5例えばid=1のSmartのgoodに、id=1のUserを追加するときは 6```Python 7user = User.objects.get(id=1) 8smt = Smart.objects.get(id=1) 9smt.good.add(user) 10```ManyToManyなので重複は防げます。
投稿2020/06/24 21:45
編集2020/06/24 21:46総合スコア2722
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/25 01:37