Gmail uniquement
Django installé
Nom du projet: échantillon Nom de l'application: contact
Je vais le mettre en œuvre immédiatement.
Après avoir installé Django, créez un projet.
$ django-admin startproject project
Après avoir accédé au répertoire project </ code> avec la commande cd, créez un répertoire pour votre application.
$ python3 manage.py startapp contact
Nous modifierons settings.py </ code>.
sample/project/settings.py
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'contact', #Postscript
]
LANGUAGE_CODE = 'ja' #Changement
TIME_ZONE = 'Asia/Tokyo' #Changement
Modifiez pour que l'application soit liée à urls.py </ code> dans le même répertoire que
settings.py </ code>.
sample/project/urls.py
from django.contrib import admin
from django.urls import path, include #Postscript
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('contact.urls')), #Postscript
]
Ensuite, modifiez le répertoire contact </ code>.
Créez un nouveau
urls.py </ code> et écrivez le modèle d'URL.
sample/contact/urls.py
from django.urls import path
from . import views
app_name = 'contact'
urlpatterns = [
path('', views.index, name='index'),
path('contact_form/', views.contact_form, name='contact_form'),
path('contact_form/contact/complete/', views.complete, name='complete'),
]
Modifiez views.py </ code> dans le répertoire contac pour l'associer au modèle.
sample/contact/views.py
from django.shortcuts import render
def index(request):
return render(request, 'contact/index.html')
#Écran du formulaire de demande
def contact_form(request):
return render(request, 'contact/contact_form.html')
#Écran de fin de transmission
def complete(request):
return render(request, 'contact/complete.html')
Vient ensuite la création du modèle.
Créez un nouveau répertoire (dossier) appelé templates </ code> dans le répertoire des contacts.
Créez un ** répertoire de contacts ** dans le répertoire des modèles
Créez
index.html </ code> dans le répertoire des contacts.
sample/contact/templates/contact/index.html
<!doctype html>
<html>
<head>
<title>Site Internet</title>
</head>
<body>
<center>
<a href="{% url 'contact:contact_form' %}">
<h2>Formulaire de demande</h2>
</a>
</center>
</body>
</html>
Vient ensuite le formulaire de demande.
sample/contact/templates/contact/contact_form.html
<center>
<h1>formulaire de saisie</h1><hr><br>
</center>
Ceci est l'écran de fin de transmission.
sample/contact/templates/contact/complete.html
<center>
<h1>envoyer complètement</h1>
<a href="{% url 'contact:index' %}">
<p>Jusqu'au sommet</p>
</a>
</center>
Affichez le modèle à l'aide de la classe Form de Django.
Créez un nouveau forms.py </ code> dans le répertoire des contacts.
sample/contact/forms.py
from django import forms
class ContactForm(forms.Form):
subject = forms.CharField(label='matière', max_length=100)
sender = forms.EmailField(label='Email', help_text='* Veuillez vérifier et entrer correctement.')
message = forms.CharField(label='message', widget=forms.Textarea)
myself = forms.BooleanField(label='Recevez le même contenu', required=False)
■ sujet: sujet
■ expéditeur: entrée d'e-mail
■ help_text: une note qui sera affichée plus tard dans le modèle.
■ message: en définissant widget = forms.Textarea </ code> à écrire
Vous recevrez une zone de texte qui vous permet d'écrire plusieurs lignes.
■ moi-même: case à cocher.
Traitez le ContactForm créé avec contact_form </ code> dans
views.py </ code> et
Rendez-le visible dans le modèle.
sample/contact/views.py
from django.shortcuts import render, redirect #Postscript
from .forms import ContactForm #Postscript
........
........
def contact_form(request):
if request.method == 'POST':
form = ContactForm(request.POST)
if form.is_valid():
return redirect('contact:complete')
else:
form = ContactForm()
return render(request, 'contact/contact_form.html', {'form': form})
.........
.........
Si le contenu du formulaire POST </ code> est vérifié avec
form.is_valid () </ code> et corrigé
C'est une description qui est passée à
complete.html </ code>.
Ensuite, je vais le décrire pour l'affichage.
Modifiez contact_form.html </ code>.
sample/templates/contact/contact_form.html
<center>
<h1>formulaire de saisie</h1><hr><br>
<!--Postscript-->
<form action="{% url 'contact:contact_form' %}" method="post">
{% csrf_token %}
<table>
{{ form.as_table }}
</table><br>
<input type="submit" value="Envoyer">
</form>
</center>
{% csrf_token%} </ code> est une contre-mesure de falsification de demande intersite (CSRF).
Sans cela, une erreur se produira.
Gmail sera décrit plus tard.
Recommended Posts