Computer >> Máy Tính >  >> Lập trình >> Python

Django - Tạo biểu mẫu liên hệ và lưu trữ dữ liệu của nó mà không cần mô hình, truy vấn và html

Trong Django, bạn có thể tạo biểu mẫu liên hệ rất dễ dàng nhưng phải quản lý rất nhiều thứ như tạo biểu mẫu, chế độ xem, mô hình và sau đó đăng ký mô hình trong Admin, v.v. Trong bài viết này, chúng ta sẽ thấy cách sử dụng một gói được xác định trước. cho biểu mẫu liên hệ của chúng tôi sẽ lưu dữ liệu trong một mô hình được xác định trước.

Chúng tôi sẽ tạo một biểu mẫu liên hệ sẽ lưu trữ dữ liệu trong mô hình mà không cần viết bất kỳ mã nào trong models.py hoặc views.py hoặc viết bất kỳ html nào . Vì vậy, hãy bắt đầu.

Ví dụ

Đầu tiên, tạo một dự án Django và một Ứng dụng.

Cài đặt django-contactforms gói -

pip install django-contactforms

Sau đó, trong settings.py, thêm dòng sau -

INSTALLED_APPS+=["contactforms"]

Thêm mô-đun này và tên ứng dụng của bạn trong INSTALLED_APPS.

Trong urls.py của dự án -

from django.contrib import admin
from django.urls import path,include

urlpatterns = [
   path('admin/', admin.site.urls),
   path('', include('contactforms.urls')),
   path("aftercontact", include('MyForm.urls'))
]

Tạo hai điểm cuối URL, một cho biểu mẫu liên hệ và một cho chuyển hướng sau khi gửi.

Trong urls.py của ứng dụng -

from django.urls import path,include
from . import views
urlpatterns = [
   path('',views.home,name="home"),
]

Tại đây, chúng tôi hiển thị html mà chúng tôi sẽ hiển thị sau khi điền vào biểu mẫu liên hệ.

Trong views.py -

from django.shortcuts import render
# Create your views here.
def home(request):
   return render(request,"home.html")

Tại đây, chúng tôi đã hiển thị html của mình.

Bây giờ, hãy tạo một thư mục trong thư mục Ứng dụng và đặt tên là "mẫu". Thêm một thư mục bên trong nó và gọi nó là "contact" và thêm một tệp html vào bên trong nó và đặt tên là contact.html. Thêm các dòng sau vào contact.html.

<!DOCTYPE html>
<html>
   <body>
      <div class="row">
      <form action="{% url 'contact' %}" method="post">
      <h3>Send a Message</h3>
      {% csrf_token %}
      <div class="form-group">
         {% if messages %}
         {% for message in messages %}
         <span{% if message.tags %} class="{{ message.tags } }"{% endif %} style="color: green">
            {{ message }}
         </span>
         {% endfor %}
            {% endif %}
      </div>
      <div class="form-group">
         {{ forms.name }}
      </div>
      <div class="form-group">
         {{ forms.email }}
      </div>
      <div class="form-group">
         {{ forms.subject }}
      </div>
      <div class="form-group">
         {{ forms.message }}
      </div>
      <button class="btn btnprimary" type="submit">Submit</button>
   </form>
   </div>
   </body>
</html>

Đây là biểu mẫu sẽ được hiển thị trên điểm cuối "/". Chúng tôi chỉ cần tải biểu mẫu từ gói của chúng tôi.

Bây giờ quay lại mẫu thư mục và thêm home.html (không bên trong thư mục liên hệ) và thêm các dòng sau -

<!DOCTYPE html>
<html>
   <head><title>tut</title></head>
   <body>
      <h3>Successfull</h3>
   </body>
</html>

Đầu ra

Đây là html được hiển thị sau khi gửi biểu mẫu liên hệ.

Django - Tạo biểu mẫu liên hệ và lưu trữ dữ liệu của nó mà không cần mô hình, truy vấn và html