简体   繁体   中英

Not able to insert data in second table in same DB in Django

I am using one db with 2 tables. 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. While able to insert in db 'userdetails' but not able to insert data in '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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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