使用 Django 在同一页面中导航,Python 和 MongoDB
Navigation in the same page with Django, Python and MongoDB
我想做这样的事情:
https://morelab.deusto.es/publications/
类似于该页面的高级搜索,但我不知道如何制作 'navigation pages'。
我在 Pymongo 中使用 Django 1.10.5、Python 3.6 和 MongoDB。我只想点击并打开表格,具体取决于我点击的位置。
我试试:
<--html-->
<form class="form-search" action="http://127.0.0.1:8000/views/delete" method="post" role="form">
<input type="hidden" name="csrfmiddlewaretoken" value="NQ7BUfEYmU7i1wcsAlkjEGfSrbHYYmxAe9tOJl2lvrbE0xgBPLhadk1l29r4SK91">
<div id="search-text" class="input-group">
<input class="form-control" id="id_text" maxlength="50" name="text" placeholder="Publication title or author name" type="text">
<span class="input-group-btn">
<button class="btn btn-default" type="submit">
<i class="fa fa-search"></i>
</button>
</span>
</div>
<div class="btn-group" id="expand-form-panel" role="group">
<button id="expand-form-btn" type="button" class="btn btn-default">
<i class="fa fa-minus"></i>
</button>
</div>
<h2 id="extended-form-title" style="display: block;">Advanced Search</h2>
<ul class="nav nav-tabs" id="extended-form-tabs" style="display: block;">
<li class=""><a id="all-tab">All <i class="fa"></i></a></li>
<li class="active"><a data-target="#basic-info-tab" data-toggle="tab">Basic Information <i class="fa"></i></a></li>
</ul>
<div id="extended-form" class="form-horizontal" style="display: block;">
<div class="tab-content">
<div class="tab-pane active" id="basic-info-tab">
{% csrf_token %}
<input name="id" value="{{id}}">
<p>Are you sure you want to delete this post?</p>
<input type="submit" value="Delete">
</div>
</div>
</div>
</form>
<--观看次数-->
def delete(request):
id = request.POST.get('id', False)
if request.method == 'POST':
informe = Informes.objects(id=id)[0]
informe.delete()
template = 'blog/index.html'
params = {'Informes': Informes.objects}
elif request.method == 'GET':
template = 'blog/delete.html'
params = { 'id': id }
return render(request, template, params)
<--url-->
url(r'^views/delete$', views.delete)
我已经查看了您作为示例提供的页面,我可以对他们使用的内容以及您如何完成它给出一些指示。
该页面正在使用 django 分页包(django.core.paginator => https://docs.djangoproject.com/en/1.11/topics/pagination/)进行分页。
搜索栏很可能使用 solr,我建议您阅读相关文档以解决您的问题。它易于使用和实施!
它不使用 JavaScript,正如这个问题的另一个答案所提到的,因为它没有实时重新加载搜索结果(这意味着它不使用诸如 AJAX 或 Angular).
现在,将您需要的所有代码都放在这个答案中有点太多了。
但我可以推荐一本非常好的书,它使用了您需要的所有功能。
这本书叫做 Django by Example (https://www.packtpub.com/web-development/django-example),通过阅读它,您可以构建 5 或 6 个项目,这些项目都使用了许多有趣的技术,您以后可以在自己的项目中使用这些技术。
我强烈建议您阅读那本书并从那里开始!
我想做这样的事情: https://morelab.deusto.es/publications/ 类似于该页面的高级搜索,但我不知道如何制作 'navigation pages'。 我在 Pymongo 中使用 Django 1.10.5、Python 3.6 和 MongoDB。我只想点击并打开表格,具体取决于我点击的位置。 我试试:
<--html-->
<form class="form-search" action="http://127.0.0.1:8000/views/delete" method="post" role="form">
<input type="hidden" name="csrfmiddlewaretoken" value="NQ7BUfEYmU7i1wcsAlkjEGfSrbHYYmxAe9tOJl2lvrbE0xgBPLhadk1l29r4SK91">
<div id="search-text" class="input-group">
<input class="form-control" id="id_text" maxlength="50" name="text" placeholder="Publication title or author name" type="text">
<span class="input-group-btn">
<button class="btn btn-default" type="submit">
<i class="fa fa-search"></i>
</button>
</span>
</div>
<div class="btn-group" id="expand-form-panel" role="group">
<button id="expand-form-btn" type="button" class="btn btn-default">
<i class="fa fa-minus"></i>
</button>
</div>
<h2 id="extended-form-title" style="display: block;">Advanced Search</h2>
<ul class="nav nav-tabs" id="extended-form-tabs" style="display: block;">
<li class=""><a id="all-tab">All <i class="fa"></i></a></li>
<li class="active"><a data-target="#basic-info-tab" data-toggle="tab">Basic Information <i class="fa"></i></a></li>
</ul>
<div id="extended-form" class="form-horizontal" style="display: block;">
<div class="tab-content">
<div class="tab-pane active" id="basic-info-tab">
{% csrf_token %}
<input name="id" value="{{id}}">
<p>Are you sure you want to delete this post?</p>
<input type="submit" value="Delete">
</div>
</div>
</div>
</form>
<--观看次数-->
def delete(request):
id = request.POST.get('id', False)
if request.method == 'POST':
informe = Informes.objects(id=id)[0]
informe.delete()
template = 'blog/index.html'
params = {'Informes': Informes.objects}
elif request.method == 'GET':
template = 'blog/delete.html'
params = { 'id': id }
return render(request, template, params)
<--url-->
url(r'^views/delete$', views.delete)
我已经查看了您作为示例提供的页面,我可以对他们使用的内容以及您如何完成它给出一些指示。
该页面正在使用 django 分页包(django.core.paginator => https://docs.djangoproject.com/en/1.11/topics/pagination/)进行分页。
搜索栏很可能使用 solr,我建议您阅读相关文档以解决您的问题。它易于使用和实施!
它不使用 JavaScript,正如这个问题的另一个答案所提到的,因为它没有实时重新加载搜索结果(这意味着它不使用诸如 AJAX 或 Angular).
现在,将您需要的所有代码都放在这个答案中有点太多了。 但我可以推荐一本非常好的书,它使用了您需要的所有功能。
这本书叫做 Django by Example (https://www.packtpub.com/web-development/django-example),通过阅读它,您可以构建 5 或 6 个项目,这些项目都使用了许多有趣的技术,您以后可以在自己的项目中使用这些技术。
我强烈建议您阅读那本书并从那里开始!