Nếu tôi hiểu đúng, bạn muốn lấy một số đầu vào từ người dùng, truy vấn cơ sở dữ liệu và hiển thị kết quả người dùng dựa trên đầu vào. Đối với điều này, bạn có thể tạo một biểu mẫu django đơn giản sẽ lấy đầu vào. Sau đó, bạn có thể chuyển tham số cho một chế độ xem trong GET
yêu cầu và truy vấn cơ sở dữ liệu cho từ khóa.
CHỈNH SỬA :Tôi đã chỉnh sửa mã. Nó sẽ hoạt động ngay bây giờ.
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>
Đồng thời đảm bảo rằng bạn đặt các mẫu của mình trong một thư mục riêng biệt có tên là templates
và thêm cái này vào settings.py
của bạn :
TEMPLATE_DIRS = (
os.path.join(os.path.dirname(__file__), '../templates').replace('\\','/'),
)