Python Forum
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
500 internal server error
#1
I am trying to create a simple webpage following an online instructor.
He is using bootstrap, jQuery, Ajax, MongoDB.
The instructor has no forms/GitHub account nor available for any kind of real-time support.
I got the course for free and decided to follow through as I don't travel to the office due to the Covid pandemic, giving me some spare time.
Posting the code below.

Using Ajax to perform actions
$(document).ready(function(){
    console.log("loaded");
//    $.material.init();

    $(document).on("submit", "#register-form", function(e){
        e.preventDefault();

        var form = $('#register-form').serialize();
        $.ajax({
            url: '/postregistration',
            type: 'POST',
            data: form,
            success: function(response){
                console.log(response);
            }
        })
    });
});
Main file controlling the flow
import web
from models import RegisterModel

urls = (
    '/', 'home',
    '/register', 'register',
    '/postregistration', 'PostRegistration'
)

render = web.template.render("views/templates", base="MainLayout")
app = web.application(urls, globals())

# Classes/Routes
class home:
    def GET(self):
        return render.Home()

class register:
    def GET(self):
        return render.Register()

class PostRegistration:
    def POST(self):
        data = web.input()
        reg_model = RegisterModel.RegisterModel()
        reg_model.insert_user(data)
        return data.username


if __name__ == "__main__":
    app.run()
To store the details submitted in the form to the MongoDB
import pymongo
from pymongo import MongoClient

class RegisterModel:
    def __init__(self):
        self.client = MongoClient()
        self.db = self.client.codewizard
        self.Users = self.db.users

    def insert_user(self, data):

        id = self.Users.insert({"username": data.username, "name": data.name, "password": data.password, "email": data.email})
        print("UID is ", id)
HTML file
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Code Wizard</title>

    <link rel="stylesheet" href="static/css/bootstrap.min.css" />
    <link rel="stylesheet" href="static/css/bootstrap-material-design.scss" />
    <link rel="stylesheet" href="static/css/_ripples.scss" />
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
    <script src="static/js/script-ajax.js"></script>
    <script src="static/js/bootstrap.min.js"></script>
    <script type= src="static/js/bootstrapMaterialDesign.js"></script>
<!--<script src="static/js/ripples.min.js"></script>

    $if self.css:
        $for style in self.css.split():
            <link rel="stylesheet" href="$style" />

    $if self.js:
        $for script in self.js:
            <script src="$script"></script>
-->
</head>
<body>
    <div id="app">
        <div class="navbar navbar-info navbar-fixed-top bg-warning">
            <div class="navbar-header">
                <a class="navbar-brand">CodeWizard</a>
            </div>
    <!--
            <ul class="nav navbar-nav">
                <li><a class="waves-effect" href="/">Home feed<div class="ripple-container"></div></a></li>
                <li><a href="/discover">Discover<div class="ripple-container"></div></a></li>
                <li><a href="/profile">Profile<div class="ripple-container"></div></a></li>
                <li><a href="/settings">Settings<div class="ripple-container"></div></a></li>
            </ul>
    -->
            <ul class="nav nav-tabs">
                  <li class="nav-item ">
                    <a class="nav-link" href="/">Home feed</a>
                  </li>
                  <li class="nav-item">
                    <a class="nav-link" href="/discover">Discover</a>
                  </li>
                  <li class="nav-item">
                    <a class="nav-link" href="/profile">Profile</a>
                  </li>
                  <li class="nav-item">
                    <a class="nav-link" href="/settings">Settings</a>
                  </li>
            </ul>

            <div class="pull-right bg-warning">
                <a href="/register" class="btn btn-primary btn-lg active" role="button" aria-pressed="true">Register</a>&nbsp; &nbsp;
            </div>
        </div>
        <br /> <br />
        $:page
    </div>

</body>
</html>
HTML file
<div class="container">
     <h2>Register Account</h2><br />

    <form id="register-form">

        <div class="form-group label-static is-empty">
          <label for="username" class="control-label">Username</label>
          <input id="username" class="form-control" type="text" placeholder="Choose a username" />
        </div>

        <div class="form-group label-static is-empty">
          <label for="display_name" class="control-label">Name</label>
          <input id="display_name" class="form-control" type="text" placeholder="Enter your full name" />
        </div>

        <div class="form-group label-static is-empty">
          <label for="email" class="control-label">E-mail</label>
          <input id="email" class="form-control" type="email" placeholder="Enter your E-mail" />
        </div>

        <div class="form-group label-static is-empty">
          <label for="password" class="control-label">Password</label>
          <input id="password" class="form-control" type="password" placeholder="Create a password" />
        </div><br />

        <button type = "submit" class="btn btn-info">Submit</button>

    </form>
</div>
HTML file
<div class="container">
    <h1> Hello Code Wizard </h1>
</div>
I'm getting the 500 (Internal Server Error) error as below after I run the main program and try to submit the form from localhost:8080
Error:
POST http://localhost:8080/postregistration 500 (Internal Server Error)
I have checked for the URL path, spelling mistakes online help but could not get to know where I am going wrong.
Reply
#2
(May-01-2021, 03:25 PM)Nitil Wrote: I am trying to create a simple webpage following an online instructor.
He is using bootstrap, jQuery, Ajax, MongoDB.
The instructor has no forms/GitHub account nor available for any kind of real-time support.
The problem when using web-framework like here web.py that has very few user,
is that you pretty much own our when get a error.
I would advice to use Flask or Django.
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Server Folder Error : WinError5 Access Denied fioranosnake 1 1,115 Jun-21-2022, 11:11 PM
Last Post: Larz60+
  web socket server handle onnection closed abnormally [internal]) korenron 0 2,143 Sep-23-2021, 09:26 AM
Last Post: korenron
Shocked Help for COM server implementation ("Unspecified error" on Dispatch()) Alfalfa 2 3,462 Jul-25-2021, 01:36 AM
Last Post: Alfalfa
  How to take the tar backup files form remote server to local server sivareddy 0 1,895 Jul-14-2021, 01:32 PM
Last Post: sivareddy
  Removing internal brackets from a string Astrikor 4 2,665 Jun-04-2020, 07:54 PM
Last Post: Astrikor
  Connection timed out error when connecting to SQL server kenwatts275 2 3,317 Jun-02-2020, 07:35 PM
Last Post: bowlofred
  Python script Server list - if condition error razor04 12 5,174 Jan-27-2020, 09:05 PM
Last Post: razor04
  Internal Server Error 500 on creating .py file patrickluethi 0 1,745 Aug-02-2019, 01:57 PM
Last Post: patrickluethi
  Capturing inputs values from internal python script limors11 11 5,190 Jun-16-2019, 05:05 PM
Last Post: DeaD_EyE
  Executing python script from SQL Server agent job getting error msavoy 1 3,660 Feb-15-2019, 08:37 PM
Last Post: Larz60+

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020