sql >> Databasteknik >  >> RDS >> Mysql

Mycket enkel användarinmatning i django

Om jag förstår det rätt vill du ta lite input från användaren, fråga databasen och visa användarresultaten baserat på inmatningen. För detta kan du skapa ett enkelt djangoformulär som tar indata. Sedan kan du skicka parametern till en vy i GET begära och fråga databasen efter nyckelordet.

REDIGERA :Jag har redigerat koden. Det borde fungera nu.

views.py

from django.shortcuts import render
from django.shortcuts import HttpResponse
from .models import Person
from django.core.exceptions import *

def index(request):
    return render(request, 'form.html')

def search(request):
    if request.method == 'POST':
        search_id = request.POST.get('textfield', None)
        try:
            user = Person.objects.get(name = search_id)
            #do something with user
            html = ("<H1>%s</H1>", user)
            return HttpResponse(html)
        except Person.DoesNotExist:
            return HttpResponse("no such user")  
    else:
        return render(request, 'form.html')

urls.py

from django.conf.urls import patterns, include, url
from People.views import *

urlpatterns = patterns('',
    url(r'^search/', search),
    url(r'^index/', index)
)

form.html

<form method="POST" action="/search">
{% csrf_token %}
<input type="text" name="textfield">

<button type="submit">Upload text</button>
</form>

Se också till att du placerar dina mallar i en separat mapp som heter templates och lägg till detta i din settings.py :

TEMPLATE_DIRS = (
    os.path.join(os.path.dirname(__file__), '../templates').replace('\\','/'),
)


  1. PHP Lottery Ticket vinnare väljare

  2. Skapa en relation i SQL Server 2017

  3. välj * från tabell vs välj colA, colB, etc. från tabell intressant beteende i SQL Server 2005

  4. Hur kan jag skapa en round robin-turnering i PHP och MySQL?