Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Bardzo proste wprowadzanie danych przez użytkownika w django

Jeśli dobrze rozumiem, chcesz wziąć wkład od użytkownika, przeszukać bazę danych i pokazać wyniki użytkownika na podstawie danych wejściowych. W tym celu możesz stworzyć prosty formularz django, który będzie pobierał dane wejściowe. Następnie możesz przekazać parametr do widoku w GET zażądać i wysłać zapytanie do bazy danych o słowo kluczowe.

EDYTUJ :Zmodyfikowałem kod. Powinno teraz działać.

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>

Upewnij się również, że umieszczasz szablony w osobnym folderze o nazwie templates i dodaj to w swoim settings.py :

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zamień znaki spoza ASCII w MYSQL

  2. Kiedy *nie* używać przygotowanych oświadczeń?

  3. Konwertuj skrypt MySQL na SQL Server

  4. Przesyłanie plików Java do MySQL

  5. Metoda uwierzytelniania „mysql_old_password” nie jest obsługiwana