Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Django – 모델, 쿼리 및 html 없이 연락처 양식 만들기 및 데이터 저장

<시간/>

Django에서는 연락처 양식을 매우 쉽게 만들 수 있지만 양식, 보기, 모델을 만들고 Admin에 모델을 등록하는 것과 같은 많은 관리가 필요합니다. 이 기사에서는 미리 정의된 패키지를 사용하는 방법을 살펴보겠습니다. 사전 정의된 모델로 데이터를 저장하는 문의 양식입니다.

models.py에 코드를 작성하지 않고 모델에 데이터를 저장하는 문의 양식을 만들 것입니다. 또는 view.py 또는 html 작성 . 자, 시작하겠습니다.

예시

먼저 Django 프로젝트와 앱을 만듭니다.

django-contactforms 설치 패키지 -

pip install django-contactforms

그런 다음 settings.py에서 다음 줄을 추가합니다. -

INSTALLED_APPS+=["contactforms"]

INSTALLED_APPS에 이 모듈과 앱 이름을 추가하세요.

url.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 끝점을 만듭니다. 하나는 문의 양식용이고 다른 하나는 제출 후 리디렉션용입니다.

url.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을 렌더링했습니다.

이제 앱 디렉토리에 폴더를 만들고 이름을 "템플릿"으로 지정합니다. 그 안에 폴더를 추가하고 "연락처"라고 부릅니다. 그 안에 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 없이 연락처 양식 만들기 및 데이터 저장