В настоящее время я хочу создать веб-приложение в django с формой, в которой пользователю предлагается ввести номер телефона и отправить его, и я хочу, чтобы этот номер, который он отправляет, был сохранен в базе данных с использованием postgres. Мне трудно найти информацию о том, как использовать почтовые запросы в django для подключения к postgres.
index. html
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Test Form 1</title>
</head>
<body>
<form method="post">{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Send message">
</form>
</body>
</html>
admin.py
from django.contrib import admin
from .models import Post
admin.site.register(Post)
urls.py
from django.contrib import admin
from django.urls import path
# from main.views import first
from main import views as test_app_views
urlpatterns = [
path('admin/', admin.site.urls),
# path('', first)
path('', test_app_views.FormView1.as_view())
]
forms.py
from django import forms
from phone_field import PhoneField
from main.models import Post
class HomeForm(forms.ModelForm):
phone = PhoneField()
class Meta:
model = Post
fields = ('phone',)
models.py
from django.db import models
from phone_field import PhoneField
from django.contrib.auth.models import User
class Post(models.Model):
phone = PhoneField()
user = models.ForeignKey(User, on_delete=models.CASCADE,)
views.py
from django.shortcuts import render
from django.views.generic.edit import FormView
from .forms import HomeForm
class FormView1(FormView):
template_name = 'index.html'
# form_class = RequiredInputsForm
# success_url = '/index/success/'
def get(self, request):
form = HomeForm()
return render(request, self.template_name, {'form': form})
def post(self, request):
form = HomeForm(request.POST)
if form.is_valid():
post = form.save(commit=False)
post.user = request.user
post.save()
phone = form.cleaned_data['post']
form = HomeForm()
return redirect('index:index')
args = {'form': form, 'text': text}
return render(request, self.template_name, args)
Как получить это для хранения номер телефона в postgres db после того, как я инициализировал проект для его использования? Это то, что я пытался, но я постоянно получаю сообщение об ошибке: 'ValueError at / Cannot assign ">": "Post.user" должен быть экземпляром "User". "
Я думаю, что я пытаюсь сделать это довольно просто, я просто никогда не делал этого раньше с django и postgres, любая помощь будет признательна!