私はまだプログラミングに非常に慣れていないので、間違ったツリーを吠えているのではないかと心配しています。多肢選択式クイズ アプリを作成しようとしています。5000 の異なる単語とその定義があります。私は2つの辞書を作りました。1 つは単語の定義、もう 1 つは 4 つの選択肢があり、そのうちの 1 つが正解です。
私はすでにモデルクラスを書いています。また、django シェルにコピーできる txt ファイルも生成しました。これにより、定義が 4 つの可能な回答にリンクされ、正しい回答に True が割り当てられます。でも単語が多いのでdjangoシェルへの入力を自動化したい。それをしてもいいですか?
最初にバッチファイルを書き込もうとしましたが、シェルが開かれると機能しません。
私もこれを読んでみました:
https://docs.djangoproject.com/en/1.9/howto/custom-management-commands/
動作しないとわかっていた完全な怪物コードを作成してしまいました! 上記のリンクで何が起こっているのかよくわかりません。または、それが私の目的に合っているとしても。
とにかく、これが私が生成したテキストです。これを 1 行ずつ django シェルにコピーできます。それは私が望むことを実行します(または少なくとも私が望むと思うこと-私が知っている限り、これについて間違った方法で行っている可能性があります!)しかし、30000行のテキストをコピーして貼り付けるのではなく、ワンクリックで実行したいのは明らかです.
from quiz.models import Question, Class
q1=Question(question_text="used to refer to somebody/something that has already been mentioned or is easily understood,")
q1.save()
q1.choice_set.create(choice_text='the', rorwrong=True)
q1.choice_set.create(choice_text='be', rorwrong=False)
q1.choice_set.create(choice_text='of', rorwrong=False)
q1.choice_set.create(choice_text='a', rorwrong=False)
....
q1849=Question(question_text="to be frightened of somebody/something or frightened of doing something,")
q1849.save()
q1849.choice_set.create(choice_text='detail', rorwrong=False)
q1849.choice_set.create(choice_text='fear', rorwrong=True)
q1849.choice_set.create(choice_text='beautiful', rorwrong=False)
q1849.choice_set.create(choice_text='institution', rorwrong=False)
ここに私のモデルクラスがあります:
from django.db import models
class Question(models.Model):
question_text = models.CharField(max_length=200)
def __str__(self):
return(self.question_text)
class Choice(models.Model):
question = models.ForeignKey(Question, on_delete=models.CASCADE)
choice_text = models.CharField(max_length=200)
rorwrong = models.BooleanField(default=False)
def __str__(self):
return(self.choice_text)