Nur Google Mail
Django installiert
Projektname: Beispiel App-Name: Kontakt
Ich werde es sofort umsetzen.
Erstellen Sie nach der Installation von Django ein Projekt.
$ django-admin startproject project
Nachdem Sie mit dem Befehl cd zum Verzeichnis project </ code> navigiert haben, erstellen Sie ein Verzeichnis für Ihre App.
$ python3 manage.py startapp contact
Wir werden settings.py </ code> ändern.
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', #Nachtrag
]
LANGUAGE_CODE = 'ja' #Veränderung
TIME_ZONE = 'Asia/Tokyo' #Veränderung
Bearbeiten Sie die App so, dass sie mit urls.py </ code> im selben Verzeichnis wie
settings.py </ code> verknüpft ist.
sample/project/urls.py
from django.contrib import admin
from django.urls import path, include #Nachtrag
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('contact.urls')), #Nachtrag
]
Bearbeiten Sie als Nächstes das Verzeichnis contact </ code>.
Erstellen Sie eine neue
urls.py </ code> und schreiben Sie das URL-Muster.
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'),
]
Bearbeiten Sie views.py </ code> im Verzeichnis contac, um sie der Vorlage zuzuordnen.
sample/contact/views.py
from django.shortcuts import render
def index(request):
return render(request, 'contact/index.html')
#Anfrageformular Bildschirm
def contact_form(request):
return render(request, 'contact/contact_form.html')
#Bildschirm zum Abschluss der Übertragung
def complete(request):
return render(request, 'contact/complete.html')
Als nächstes wird die Vorlage erstellt.
Erstellen Sie im Kontaktverzeichnis ein neues Verzeichnis (Ordner) mit dem Namen templates </ code>.
Erstellen Sie ein ** Kontaktverzeichnis ** im Vorlagenverzeichnis
Erstellen Sie
index.html </ code> im Kontaktverzeichnis.
sample/contact/templates/contact/index.html
<!doctype html>
<html>
<head>
<title>Webseite</title>
</head>
<body>
<center>
<a href="{% url 'contact:contact_form' %}">
<h2>Anfrageformular</h2>
</a>
</center>
</body>
</html>
Als nächstes kommt das Anfrageformular.
sample/contact/templates/contact/contact_form.html
<center>
<h1>Eingabeformular</h1><hr><br>
</center>
Dies ist der Bildschirm zum Abschluss der Übertragung.
sample/contact/templates/contact/complete.html
<center>
<h1>vollständig senden</h1>
<a href="{% url 'contact:index' %}">
<p>Nach oben</p>
</a>
</center>
Zeigen Sie die Vorlage mit der Form-Klasse von Django an.
Erstellen Sie eine neue forms.py </ code> im Kontaktverzeichnis.
sample/contact/forms.py
from django import forms
class ContactForm(forms.Form):
subject = forms.CharField(label='Gegenstand', max_length=100)
sender = forms.EmailField(label='Email', help_text='* Bitte überprüfen und korrekt eingeben.')
message = forms.CharField(label='Botschaft', widget=forms.Textarea)
myself = forms.BooleanField(label='Erhalten Sie den gleichen Inhalt', required=False)
■ Betreff: Betreff
■ Absender: E-Mail-Eingabe
■ help_text: Eine Notiz, die später in der Vorlage angezeigt wird.
■ message: Durch Setzen von widget = forms.Textarea </ code>, das geschrieben werden soll
Sie erhalten ein Textfeld, in das Sie mehrere Zeilen schreiben können.
■ ich selbst: Kontrollkästchen.
Verarbeiten Sie die erstellte ContactForm mit contact_form </ code> in
views.py </ code> und
Machen Sie es in der Vorlage sichtbar.
sample/contact/views.py
from django.shortcuts import render, redirect #Nachtrag
from .forms import ContactForm #Nachtrag
........
........
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})
.........
.........
Wenn der Inhalt des Formulars POST </ code> mit
form.is_valid () </ code> überprüft und korrigiert wurde
Es ist eine Beschreibung, die an
complete.html </ code> übergeben wird.
Als nächstes werde ich es zur Anzeige beschreiben.
Bearbeiten Sie contact_form.html </ code>.
sample/templates/contact/contact_form.html
<center>
<h1>Eingabeformular</h1><hr><br>
<!--Nachtrag-->
<form action="{% url 'contact:contact_form' %}" method="post">
{% csrf_token %}
<table>
{{ form.as_table }}
</table><br>
<input type="submit" value="Senden">
</form>
</center>
{% csrf_token%} </ code> ist eine CSRF-Gegenmaßnahme (Cross-Site Request Forgery).
Ohne dies tritt ein Fehler auf.
Google Mail wird später beschrieben.
Recommended Posts