gpt4 book ai didi

python - 从 Django/Python 更改网站的哪一部分以在搜索栏中获取预先编写的文本?

转载 作者:行者123 更新时间:2023-11-28 12:38:24 25 4
gpt4 key购买 nike

我有 .css 硬编码搜索栏的位置。搜索栏使用变量 keywords,在 forms.py 中调用。最后,view.py 可能是另一种在搜索栏中获取“搜索工具”预填充文本的可能性。

我可以像在浏览器的 HTML 编辑器中那样设置 value= "Search for a tool"中的哪些代码?

style.css 文件可能是我最困惑的,因为我可以将初始定义更改为 [type = "text", value = "Search for a tool"],然后搜索栏移动到 html 页面上的新位置并且没有预先=写入的文本。

...

.search{
width:350px;
margin-left:120px;
float:left;
position:relative;
height:75px;


}
.search input[type="text"], .search input[type='number'], .search input[type="password"] {
margin:20px;
margin-top:25px;
padding: 4px; background:#d8f6fd;
float:right;
border: 1px solid #66c8de;
-moz-box-shadow: 0 1px 1px #ddd inset, 0 1px 0 #fff;
-webkit-box-shadow: 0 1px 1px #ddd inset, 0 1px 0 #fff;
box-shadow: 0 1px 1px #ddd inset, 0 1px 0 #fff;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
border-radius: 3px;
}
.search input[type="submit"]{
margin-top:25px;
margin-right:25px;
float:right;
}
...

forms.py。这使用了一个字符字段。当我尝试在 CharField 中添加参数时出现很多错误(blank = False, default = "Enter a tool name")我猜没有什么可以用这个 .py 初始化搜索栏

class Search(forms.Form):
keywords = forms.CharField()

views.py 似乎它只会处理来自搜索栏的请求,我认为它可以初始化。

def search(request):
template = loader.get_template('sharesystem/search.html')
form = Search()
if request.method == 'GET':
form = Search(request.GET)
if form.is_valid():
keywords = form.cleaned_data['keywords']
tools = Tool.objects.filter(name__contains = keywords).values()
if (keywords is ''):
tools = Tool.objects.all()
context = RequestContext(request, {
'tools' : tools, 'form':form })
return HttpResponse(template.render(context))
tools = Tool.objects.all()
context = RequestContext(request, {
'form' : form,'tools' : tools})

return HttpResponse(template.render(context))

跟进 base.html 当我添加一个新的输入行时,我得到多个搜索框。当调用 class='search' 时,我应该在那个 div 中放什么?

<div id="headerwrapper">
<div class="centerframe">
<div id="logo">
<a href="{% url 'sharesystem:index' %}" ><img src="{{STATIC_URL}}sharesystem/images/logo.png"border="none" ></a>
</div>

<div class='search' >
<input type="text" name="keywords" placeholder="Enter a tool name"/>

<form action="/sharesystem/search/" method="GET" style='margin-bottom:0;'>
{% csrf_token %}
<input type="submit" value="Search" />
{{ search_form.keywords }}
</form>

</div>
<div style="padding-top:24px;">
<form action="/sharesystem/search/" method="GET" style='margin-bottom:0;'>
{% csrf_token %}
<input type="submit" value="View All Tools" />

</form>
</div>
</div>
</div>

最佳答案

根据您的业务需求以及您需要支持的浏览器,我建议使用 HTML 输入“占位符”属性。

您需要覆盖您的表单初始化函数并从那里更新小部件属性字典,或者在您的 CharField 声明中明确设置小部件。

keywords = forms.CharField( widget=forms.TextInput(attrs={'placeholder': '搜索工具'}))

关于python - 从 Django/Python 更改网站的哪一部分以在搜索栏中获取预先编写的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27177164/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com