pythonhtmldjangodjango-registration

How to register with django on template?


I have a small project. There is a ready registration form in the project. I want to register on this registration form. I don't want to create inputs with python codes in forms.py. I want to record with imputs in existing HTML codes. I hope I was able to explain what I wanted. I will be glad if you help me.

register.html

{% extends 'partials/_base.html' %}
{% load static %}


{% block content %}
<!-- BREADCRUMB -->
<div id="breadcrumb">
    <div class="container">
        <ul class="breadcrumb">
            <li><a href="#">Home</a></li>
            <li class="active">Register</li>
        </ul>
    </div>
</div>
<!-- /BREADCRUMB -->

<!--REGISTER FORM-->

<div style="width: 500px;" class="container">
        <form class="form-horizontal" role="form" method="post">
            {% csrf_token %}
            <br>
            <div class="form-group">
                <label for="firstName" class="col-sm-3 control-label">Ad</label>
                <div class="col-sm-9">
                    <input type="text" id="firstName" placeholder="First Name" class="form- 
control" autofocus>
                </div>
            </div>
            <div class="form-group">
                <label for="firstName" class="col-sm-3 control-label">Soyad</label>
                <div class="col-sm-9">
                    <input type="text" id="lastName" placeholder="Last Name" class="form- 
control" autofocus>
                </div>
            </div>
            <div class="form-group">
                <label for="email" class="col-sm-3 control-label">Email</label>
                <div class="col-sm-9">
                    <input type="email" id="email" placeholder="Email" class="form-control">
                </div>
            </div>
            <div class="form-group">
                <label for="email" class="col-sm-3 control-label">Nömrə</label>
                <div class="col-sm-9">
                    <input type="text" id="phone" placeholder="Phone" class="form-control">
                </div>
            </div>
            <div class="form-group">
                <label for="password" class="col-sm-3 control-label">Şifrə</label>
                <div class="col-sm-9">
                    <input type="password" id="password" placeholder="Password" class="form- 
control">
                </div>
            </div>
            <div class="form-group">
                <label for="birthDate" class="col-sm-3 control-label">Doğum tarixi</label>
                <div class="col-sm-9">
                    <input type="date" id="birthDate" class="form-control">
                </div>
            </div>
            <div class="form-group">
                <label for="country" class="col-sm-3 control-label">Bölgə</label>
                <div class="col-sm-9">
                    <select id="country" class="form-control">
                        <option>Ağdam</option>
                        <option>Ağcabədi</option>
                        <option>Biləsuvar</option>
                        <option>Gəncə</option>
                        <option>Lənkaran</option>
                        <option>Yevlax</option>
                        <option>Mingəçevir</option>
                        <option>Goranboy</option>
                    </select>
                </div>
            </div> <!-- /.form-group -->
            <div class="form-group">
                <div class="col-sm-9 col-sm-offset-3">
                    <div class="checkbox">
                        <label>
                            <input type="checkbox">I accept <a href="#">terms</a>
                        </label>
                    </div>
                </div>
            </div> <!-- /.form-group -->
            <div class="form-group">
                <div class="col-sm-9 col-sm-offset-3">
                    <button type="submit" class="btn btn-primary btn-block">Register</button>
                </div>
            </div>
        </form> <!-- /form -->
    </div> <!-- ./container -->
<!--/REGISTER FORM-->
<!-- section -->
<div class="section">
    <!-- container -->
    <div class="container">
        <!-- row -->
        <div class="row">
        </div>
        <!-- /row -->
    </div>
    <!-- /container -->
</div>
<!-- /section -->

{% endblock %}

I didn't write model.py or views.py


Solution

  • If you want to use this template for your registration form, just add name='<field_name>' for every field, because Django uses name attribute to access every field in the POST request.

    Note: Make sure the name attr value and the field name are similar

    It is always recommended to write forms instead of making the view to handle everything. But if you don't want to write forms, you can access each field with field_name = request.POST.get('field_name'), then pass every field to create an instance or to save to a database using this format user_obj = User.objects.create(field_name=field_name, ...)

    I hope it helps :)