Использование Django и Postgres для хранения телефонных номеров - PullRequest
0 голосов
/ 20 апреля 2020

В настоящее время я хочу создать веб-приложение в 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, любая помощь будет признательна!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...