Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Django – สร้างแบบฟอร์มการติดต่อและจัดเก็บข้อมูลโดยไม่มีรูปแบบ แบบสอบถาม และ html


ใน Django คุณสามารถสร้างแบบฟอร์มการติดต่อได้อย่างง่ายดาย แต่ต้องใช้การจัดการหลายอย่าง เช่น การสร้างแบบฟอร์ม มุมมอง โมเดล แล้วลงทะเบียนแบบจำลองใน Admin เป็นต้น ในบทความนี้ เราจะมาดูวิธีการใช้แพ็คเกจที่กำหนดไว้ล่วงหน้า สำหรับแบบฟอร์มการติดต่อของเราซึ่งจะบันทึกข้อมูลในรูปแบบที่กำหนดไว้ล่วงหน้า

เราจะสร้างแบบฟอร์มการติดต่อซึ่งจะเก็บข้อมูลในรูปแบบโดยไม่ต้องเขียนโค้ดใดๆ ใน models.py หรือ views.py หรือเขียน html . ใดๆ . มาเริ่มกันเลย

ตัวอย่าง

ขั้นแรก สร้างโปรเจ็กต์ Django และแอพ

ติดตั้ง django-contactforms แพ็คเกจ −

pip install django-contactforms

จากนั้นใน settings.py ให้เพิ่มบรรทัดต่อไปนี้ -

INSTALLED_APPS+=["contactforms"]

เพิ่มโมดูลนี้และชื่อแอปของคุณใน INSTALLED_APPS

ใน urls.py ของโครงการ −

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'))
]

สร้าง URL ปลายทางสองจุด อันแรกสำหรับแบบฟอร์มการติดต่อ อีกอันสำหรับเปลี่ยนเส้นทางหลังจากส่ง

ใน urls.py ของแอป −

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

ที่นี่ เราสร้าง html ที่เราจะแสดงหลังจากกรอกแบบฟอร์มการติดต่อ

ใน views.py

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

เราเรนเดอร์ html ของเราที่นี่

ตอนนี้ สร้างโฟลเดอร์ในไดเร็กทอรี App และตั้งชื่อว่า "เทมเพลต" เพิ่มโฟลเดอร์ภายในและเรียกมันว่า "ผู้ติดต่อ" และเพิ่มไฟล์ html ข้างในแล้วตั้งชื่อว่า contact.html เพิ่มบรรทัดต่อไปนี้ใน 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>

นี่คือแบบฟอร์มที่จะแสดงบนจุดปลาย "/" เราเพียงแค่โหลดแบบฟอร์มจากแพ็คเกจของเรา

กลับมาที่เทมเพลต และเพิ่ม home.html (ไม่อยู่ในโฟลเดอร์ผู้ติดต่อ) และเพิ่มบรรทัดต่อไปนี้ −

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

ผลลัพธ์

นี่คือ html ที่แสดงหลังจากส่งแบบฟอร์มการติดต่อ

Django – สร้างแบบฟอร์มการติดต่อและจัดเก็บข้อมูลโดยไม่มีรูปแบบ แบบสอบถาม และ html