質問編集履歴
1
コードを掲載しました
test
CHANGED
File without changes
|
test
CHANGED
@@ -14,43 +14,25 @@
|
|
14
14
|
|
15
15
|
chat GPTは以下のコードを修正コードとしてあげていますがなかなか理想とする機能がつきません
|
16
16
|
|
17
|
-
if message:
|
18
|
-
# 🔹「気にするな」の変換処理を最優先に実行
|
19
|
-
|
17
|
+
コードを以下の様に修正しているのに「修正が必要です」と返答が来ます
|
20
|
-
message = message.replace("気にするな", "気にしないで下さい。")
|
21
18
|
|
22
|
-
|
19
|
+
# 🔹 禁句ワードのチェック (小文字・カタカナ対応)
|
23
|
-
|
20
|
+
forbidden_words = ForbiddenWord.objects.values_list('word', flat=True)
|
21
|
+
if any(re.search(rf'\b{re.escape(word)}\b', message, re.IGNORECASE) for word in forbidden_words):
|
22
|
+
|
23
|
+
修正後のコード↓
|
24
|
+
|
25
|
+
forbidden_words = ForbiddenWord.objects.values_list('word', flat=True)
|
24
26
|
if any(re.search(rf'\b{re.escape(word)}\b', message, re.IGNORECASE) for word in forbidden_words):
|
25
27
|
error_message = "投稿内容に禁句ワードが含まれています。"
|
26
28
|
encouragements = Encouragement.objects.all()
|
27
29
|
return render(request, "myapp/encouragement.html", {
|
28
30
|
"encouragements": encouragements,
|
29
31
|
"error_message": error_message
|
30
|
-
})
|
31
32
|
|
32
|
-
# 話し方のスタイルに応じたメッセージの加工
|
33
|
-
if style == 'keigo':
|
34
|
-
if not any(message.endswith(suffix) for suffix in ['です', 'ます', 'でしょう', 'ですね', 'ですよ']):
|
35
|
-
if "応援していますよ" not in message and "応援しているよ" not in message:
|
36
|
-
message = f"{message} 応援していますよ。"
|
37
|
-
elif style == 'tamego':
|
38
|
-
if not any(message.endswith(suffix) for suffix in ['だよ', 'ね', 'だね', 'だろ']):
|
39
|
-
if "応援してるよ" not in message and "応援していますよ" not in message:
|
40
|
-
message = f"{message} 応援してるよ。"
|
41
33
|
|
42
|
-
# [素晴らしい] の重複防止 (正規表現を使用)
|
43
|
-
message = re.sub(r'(素晴らしい)(?:\s*\1)+', r'\1', message)
|
44
34
|
|
45
|
-
# 禁句ワードがなければ保存
|
46
|
-
Encouragement.objects.create(message=message)
|
47
35
|
|
48
|
-
# 投稿成功メッセージの追加
|
49
|
-
success_message = "投稿が完了しました!"
|
50
|
-
encouragements = Encouragement.objects.all()
|
51
|
-
return render(request, "myapp/encouragement.html", {
|
52
|
-
"encouragements": encouragements,
|
53
|
-
"success_message": success_message})
|
54
36
|
|
55
37
|
またユーザーが日常生活で癪に触った出来事を入力出来る機能を作りたいからそのコードを知りたくても毎回違うコードが出て来て出来ません
|
56
38
|
|