Я не хочу использовать форму, потому что есть специальные коды. Поэтому я использую request.POST. У меня проблема. Я хочу использовать опцию выбора, чтобы сделать поле «вопрос». Но «вопрос» не сохранился в sqlite3. Когда я печатаю 'user.question', это может быть безопасно сохранено. Но когда я захожу на Django страницу администратора, она не сохраняется. Итак, как я могу решить эту проблему?
view.py
@csrf_exempt
def signup(request):
if request.method == "POST":
question = request.POST.get('question', '')
answer = request.POST.get('answer', '')
user = User.objects.create_user(question = question, answer=answer)
return render(request, 'home.html')
else:
return render(request, 'signup.html')
регистрация. html
<div class="sign-page">
<div class="form">
<form class="sign-form" method="post" action="{% url 'website:signup' %}">
<select name="question">
<option value="" selected="selected">비밀번호 확인 질문을 선택해주세요</option>
<option value="ONE">기억에 남는 추억의 장소는?</option>
<option value="TWO">자신의 인생 좌우명은?</option>
<option value="THREE">자신의 보물 제1호는?</option>
<option value="FOUR">가장 기억에 남는 선생님 성함은?</option>
<option value="FIVE">추억하고 싶은 날짜가 있다면?</option>
<option value="SIX">유년시절 가장 생각나는 친구 이름은?</option>
<option value="SEVEN">인상 깊게 읽은 책 이름은?</option>
<option value="EIGHT">읽은 책 중에서 좋아하는 구절이 있다면?</option>
<option value="NINE">자신이 두번째로 존경하는 인물은?</option>
<option value="TEN">초등학교 때 기억에 남는 짝궁 이름은?</option>
<option value="ELEVEN">다시 태어나면 되고 싶은 것은?</option>
<option value="TWELEVE">내가 좋아하는 캐릭터는?</option>
<option value="THIRTEEN">자신의 반려동물의 이름은?</option>
</select>
<input type="text" name="answer" placeholder="답변을 입력해주세요">
<div class="button">
<input type="submit" id="complete" value="complete">
<input type="button" id="cancel" value="cancel">
</div>
</form>
</div>
</div>
models.py
class User(AbstractBaseUser, PermissionsMixin):
ONE = '기억에 남는 추억의 장소는?'
TWO = '자신의 인생 좌우명은?'
THREE = '자신의 보물 제1호는?'
FOUR = '가장 기억에 남는 선생님 성함은?'
FIVE = '추억하고 싶은 날짜가 있다면?'
SIX = '유년시절 가장 생각나는 친구 이름은?'
SEVEN = '인상 깊게 읽은 책 이름은?'
EIGHT = '읽은 책 중에서 좋아하는 구절이 있다면?'
NINE = '자신이 두번째로 존경하는 인물은?'
TEN = '초등학교 때 기억에 남는 짝궁 이름은?'
ELEVEN = '다시 태어나면 되고 싶은 것은?'
TWELEVE = '내가 좋아하는 캐릭터는?'
THIRTEEN = '자신의 반려동물의 이름은?'
CHOICES = (
(ONE, '기억에 남는 추억의 장소는?'),
(TWO, '자신의 인생 좌우명은?'),
(THREE, '자신의 보물 제1호는?'),
(FOUR, '가장 기억에 남는 선생님 성함은?'),
(FIVE, '추억하고 싶은 날짜가 있다면?'),
(SIX, '인상 깊게 읽은 책 이름은?'),
(SEVEN, '인상 깊게 읽은 책 이름은?'),
(EIGHT, '읽은 책 중에서 좋아하는 구절이 있다면?'),
(NINE, '자신이 두번째로 존경하는 인물은?'),
(TEN, '초등학교 때 기억에 남는 짝궁 이름은?'),
(ELEVEN, '다시 태어나면 되고 싶은 것은?'),
(TWELEVE, '내가 좋아하는 캐릭터는?'),
(THIRTEEN, '자신의 반려동물의 이름은?')
)
question = models.CharField(max_length=30, choices=CHOICES, default=ONE, null=True, blank=True)
answer = models.CharField(max_length=200, null=True, blank=True)
objects=UserManager()