我的基础难题是我无法理解django模板,视图和url是如何捆绑在一起的……提示用户输入字符串,然后使用该字符串查询数据库的最简单,最简单的最小方法是什么(最好是w / python模型而不是原始sql查询)?我应该使用GET和POST方法吗?我应该使用表格吗?我需要使用模板还是可以使用通用视图?
当我尝试提交输入时,它只是重新加载了输入页面。
views.py:
from django.shortcuts import render
from django.shortcuts import HttpResponse
from People.models import Person
def index(request):
return render(request, 'People/index.html')
def search(request):
search_id = request.POST.get('textfield', None)
try:
user = Person.objects.get(MAIN_AUTHOR = search_id)
#do something with user
html = ("<H1>%s</H1>", user)
return HttpResponse(html)
except Person.DoesNotExist:
return HttpResponse("no such user")
urls.py
from django.conf.urls import patterns, include, url
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
url(r'^admin/', include(admin.site.urls)),
url(r'^People/', 'People.views.index'),
url(r'^People/send/', 'People.views.search'),
)
模板:
<form method="POST" action="send/">
{% csrf_token %}
<input type="text" name="textfield">
<button type="submit">Upload text</button>
</form>
我是否缺少某些东西或做错了什么?
如果我理解正确,则希望从用户那里获取一些输入,查询数据库并根据输入显示用户结果。为此,你可以创建一个简单的django表单,该表单将接受输入。然后,你可以将参数传递给GET请求中的视图,并在数据库中查询关键字。
编辑:我已经编辑了代码。现在应该可以工作了。
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>
另外,请确保将模板放置在名为的单独文件夹中templates,并将其添加到你的中settings.py:
TEMPLATE_DIRS = (
os.path.join(os.path.dirname(__file__), '../templates').replace('\\','/'),
)
问题内容: 我试图找到一个非常简单,流畅,轻巧的javascript或jquery字幕。我已经尝试过丝绸选框之类的东西,但不适用于我正在使用的应用程序。因此,越短越好,越好-并且越容易调试。有人知道字幕易于实现的JavaScript替换吗? 码 问题答案: 希望这对您有所帮助,加油! html jQuery代码
本文向大家介绍非常简单的Shell菜单脚本,包括了非常简单的Shell菜单脚本的使用技巧和注意事项,需要的朋友参考一下 本文给大家分享一个自己简单编写的Shell菜单脚本,傻瓜式的人机交互,人人都可以操作linux。 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。
这些方法如下所示: 编辑 我尝试使用、和。 我曾尝试直接在上调用,但它也没有捕捉到这一点。
问题内容: 我只是在玩输入和变量。我正在尝试运行一个简单的功能: 我想提示用户输入,,和。最简单,最干净的方法是什么? 问题答案: 您可以使用该函数提示用户输入,并将用户输入从字符串转换为浮点数: 如果您使用的是python 2,请改用。
问题内容: 我正在使用HtmlUnit 2.9(本月发布的稳定版本)。您是否知道以下代码为何不起作用? 我还要添加jstack的结果。注意,我标记了一个不断重复的部分: 我认为关于自动加载框架存在某种循环。如果是这样,是否有任何方法可以禁用该行为以打破循环? 提前致谢! 问题答案: 好吧,尽管这是一个可怕的解决方案(实际上,解决方法……),但我最终决定按照HtmlUnit的开发人员之一的建议,在H
本文向大家介绍Django 简单文本输入小部件,包括了Django 简单文本输入小部件的使用技巧和注意事项,需要的朋友参考一下 示例 小部件最简单的示例是自定义文本输入。例如,要创建一个<input type="tel">,您必须继承TextInput并设置input_type为'tel'。