简体   繁体   English

无法在 Django 的同一 DB 中的第二个表中插入数据

[英]Not able to insert data in second table in same DB in Django

I am using one db with 2 tables.我正在使用一个带有 2 个表的数据库。 Using template inheritance & I am able to insert data in one table from one template but not able to insert another data in another table from second template.使用模板 inheritance & 我能够从一个模板在一个表中插入数据,但不能从第二个模板在另一个表中插入另一个数据。 While able to insert in db 'userdetails' but not able to insert data in 'logindb'.虽然能够在 db 'userdetails' 中插入,但不能在 'logindb' 中插入数据。 (Not sharing template from which able to insert data). (不共享能够插入数据的模板)。 If required will share.如果需要将分享。 Help with be highly appreciated.高度赞赏帮助。

**models.py**

from django.db import models

class user_details(models.Model):
    name = models.CharField(max_length=20)
    email = models.EmailField()
    mobile = models.CharField(max_length=20)
    category = models.CharField(max_length=10)
    member = models.BooleanField(default=False)
    query = models.CharField(max_length=500)
    class Meta:
        managed = True
        db_table = 'userdetails'

class signups(models.Model):
    sname = models.CharField(max_length=20)
    semail = models.EmailField()
    spassword = models.CharField(max_length=20)
    scpassword = models.CharField(max_length=20)
    class Meta:
        managed = True
        db_table = 'logindb'

**views.py**

from django.http import HttpResponse
from django.shortcuts import render
from .models import user_details, signups

def index(request):
    context = {"home_page": "active"} # used to make template active when clicked on it
    return render(request, 'index.html', context)

def about(request):
    context = {"about_page": "active"}
    return render(request, 'about.html', context)

def contact(request):
    context = {"contact_page": "active"}
    if request.method == "POST":
        name = request.POST.get('name', '')
        email = request.POST.get('email', '')
        mobile = request.POST.get('mobile', '')
        category = request.POST.get('category', '')
        member = True if request.POST.get('member') else False
        query = request.POST.get('query', '')
        contact = user_details(name=name, email=email, mobile=mobile, category=category, member=member, query=query)
        contact.save()
    return render(request, 'contact.html', context)

def signup(request):
    if request.method == "POST":
        sname = request.POST.get('sname', '')
        semail = request.POST.get('semail', '')
        spassword = request.POST.get('spassword', '')
        scpassword = request.POST.get('scpassword', '')
        signup = signups(sname=sname, semail=semail, spassword=spassword, scpassword=scpassword)
        signup.save()
    return render(request, 'index.html')

**basic.html**

<!doctype html>
<html lang="en">
  <head>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <!-- Bootstrap CSS -->
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous">

    <title>VP Blog!</title>
  </head>
  <body>
  <nav class="navbar navbar-expand-lg navbar-dark bg-dark">
  <a class="navbar-brand" href="/" style="color:orange">VP Blog</a>
  <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
    <span class="navbar-toggler-icon"></span>
  </button>

  <div class="collapse navbar-collapse" id="navbarSupportedContent">
    <ul class="navbar-nav mr-auto">
      <li class="nav-item {{ home_page }} ">
        <a class="nav-link" href="/">Home <span class="sr-only">(current)</span></a>
      </li>
      <li class="nav-item {{ about_page }}">
        <a class="nav-link" href="/about">About</a>
      </li>
      <!--<li class="nav-item dropdown">
        <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
          Views
        </a>
        <div class="dropdown-menu" aria-labelledby="navbarDropdown">
          <a class="dropdown-item" href="#">Action</a>
          <a class="dropdown-item" href="#">Another action</a>
          <div class="dropdown-divider"></div>
          <a class="dropdown-item" href="#">Something else here</a>
        </div>
      </li>-->
      <li class="nav-item {{ contact_page }}">
        <a class="nav-link" href="/contact">Contact Us</a>
      </li>
    </ul>
    <form class="form-inline my-2 my-lg-0">
      <input class="form-control mr-sm-2" type="search" placeholder="Search" aria-label="Search">
      <button class="btn btn-outline-light my-2 my-sm-0" type="submit">Search</button>
    </form>
    <button type="button" class="btn btn-danger mx-2" data-toggle="modal" data-target="#loginModal">Login</button>
    <button type="button" class="btn btn-danger" data-toggle="modal" data-target="#signupModal">Sign Up</button>
  </div>
</nav>

<!-- Login Modal -->
<div class="modal fade" id="loginModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title" id="exampleModalLabel">Login Page</h5>
        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
          <span aria-hidden="true">&times;</span>
        </button>
      </div>
      <div class="modal-body">
             <form>
                  <div class="form-group">
                    <label for="exampleInputEmail1">Email address</label>
                    <input type="email" class="form-control" id="exampleInputEmail1" aria-describedby="emailHelp">
                    <small id="emailHelp" class="form-text text-muted">We'll never share your email with anyone else.</small>
                  </div>
                  <div class="form-group">
                    <label for="exampleInputPassword1">Password</label>
                    <input type="password" class="form-control" id="exampleInputPassword1">
                  </div>
                  <div class="form-group form-check">
                    <input type="checkbox" class="form-check-input" id="exampleCheck1">
                    <label class="form-check-label" for="exampleCheck1">Remember me</label>
                  </div>
              </form>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
        <button type="button" class="btn btn-primary">Login</button>
      </div>
    </div>
  </div>
</div>


<!-- Sign Up Modal -->
<div class="modal fade" id="signupModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title" id="exampleModalLabel1">Sign Up Page</h5>
        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
          <span aria-hidden="true">&times;</span>
        </button>
      </div>
      <div class="modal-body">
              <form action="" method="post">{% csrf_token %}
                  <div class="form-group">
                    <label for="sname">Name</label>
                    <input type="text" class="form-control" id="sname" name='sname' aria-describedby="emailHelp">
                  </div>
                  <div class="form-group">
                    <label for="sname">Email address</label>
                    <input type="email" class="form-control" id="semail" name='semail' aria-describedby="emailHelp">
                    <small id="emailHelp1" class="form-text text-muted">We'll never share your email with anyone else.</small>
                  </div>
                  <div class="form-group">
                    <label for="sname">Password</label>
                    <input type="password" class="form-control" id="spassword" name='password'>
                  </div>
                  <div class="form-group">
                    <label for="sname">Confirm Password</label>
                    <input type="password" class="form-control" id="scpassword" name='scpassword'>
                  </div>
                  <div class="modal-footer">
                      <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
                      <button type="submit" class="btn btn-success">Register</button>
                  </div>
              </form>
      </div>
    </div>
  </div>
</div>

  {% block body %}  {% endblock %}

  <footer class="container my-4">
    <p class="float-right"><a href="/">Back to top</a></p>
    <p>© 2020-2021 Vivek Pvt. Ltd., Inc. · <a href="#">Privacy</a> · <a href="#">Terms</a></p>
  </footer>

    <!-- Optional JavaScript -->
    <!-- jQuery first, then Popper.js, then Bootstrap JS -->
    <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js" integrity="sha384-OgVRvuATP1z7JjHLkuOU7Xw704+h835Lr+6QL9UvYjZE3Ipu6Tp75j7Bh/kR0JKI" crossorigin="anonymous"></script>
  </body>
</html>

Sorted out.挑出来。 I was missing function name in action in template.我在模板中缺少 function 名称。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM