Tout ce que je veux est pour l'entrée de l'utilisateur d'entrer dans la base de données sur utilisateur en cliquant sur Submit
mais je reçois une erreur dans mon navigateur qui dit:Quel est le problème avec mon code que l'entrée de l'utilisateur ne va pas dans la base de données django?
RuntimeError at /content
You called this URL via POST, but the URL doesn't end in a slash and
you have APPEND_SLASH set.
Django can't redirect to the slash URL while maintaining POST data.
Change your form to point to 127.0.0.1:8000/content/ (note the trailing
slash), or set APPEND_SLASH=False in your Django settings.
Je sais que je suis très proche de faire arriver, Je veux juste savoir ce qui me manque ou où j'ai foiré.
est ici views.py
:
from django.shortcuts import render
from django.http import HttpResponse
from .models import Email
from django.core.exceptions import *
def index(request):
return render(request, 'personal/home.html')
def contact(request):
return render(request, 'personal/basic.html',{'content':['If you would like more information, leave your email.']})
def search(request):
if request.method == 'POST':
search_id = request.POST.get(name = search_id)
try:
user = Email.objects.get(name=search_id)
# do something with user
html = ("<H1>%s</H1>", user)
return HttpResponse(html)
except Email.DoesNotExist:
return HttpResponse("no such user")
else:
return render(request, 'basic.html')
est ici urls.py
:
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$', views.index, name='index'),
url(r'^content/', views.contact, name='content'),
]
Voilà basic.html
:
{% extends "personal/header.html" %}
{% block content %}
<style type="text/css">
h1 {
color: #2e6da4;
font-family: Chalkboard;
}
.text {
text-align: center;
}
</style>
{% for c in content %}
<h1>{{c}}</h1>
{% endfor %}
<div class="form-group">
<form method="POST" action="/content">
{% csrf_token %}
<input type="text" name="textfield">
<button type="submit">Submit</button>
</form>
</div>
{% endblock %}
Si l'une des réponses ci-dessous vous a aidé à résoudre votre problème, veuillez le marquer comme accepté. C'est une bonne pratique dans StackOverflow :) –
Si l'une des réponses ci-dessous vous a aidé à résoudre votre problème, veuillez le marquer comme accepté. C'est une bonne pratique dans StackOverflow :) –
@nik_m Je vais les essayer dès que j'en aurai l'occasion, alors je l'accepterai si ça marche :). Merci de me le rappeler! – hop38