私はユーザーが入力できるフォームを持っており、検証をテストしたいと思います。ユーザーはProject Name
というフィールドを入力します。この値がすでにデータベースに存在するかどうかを確認します。表示されている場合は、警告を発します。ここに私のコードは次のとおりです。Django ValidationError
views.py
if form.is_valid():
team_profile = get_object_or_None(Team, Team_ID=profile.team_id)
return render(request,'teams/my_team.html', {'team_profile': team_profile})
else:
return render(request,"teams/team_form.html", {'form':CreateTeamForm()})
models.py
def validate_id_exists(value):
incident = Team.objects.filter(Project_name=value)
if incident: # check if any object exists
raise ValidationError('This already exists not exist.')
class Team(models.Model):
Project_name = models.CharField(max_length=250, validators=[validate_id_exists])
ユーザーが既存のproject_name
を入力するので、現在、それはフォームは無効となります。しかし、私は画面にエラーメッセージを表示する方法はありません。現在、既に存在するproject_name
と提出すれば、私が書いたことに合った元の形式に戻ります。しかし、私は、フォームページにとどまっている間、エラーメッセージを表示したい。 アイデア
どのように?私は私の見解に何かを持っていますか? – anderish
はい答えに記載されているテンプレートタグをフォームに追加します。 – turbotux