python - 在 HTML 中使用 Django 框架查询 MYSQL
问题描述
我正在使用带有 google api + MYSql 的 Django 框架构建一个站点。目前,我将所有数据条目的纬度和经度从我的 dB 显示到热图图层上。
我需要能够过滤我的数据以优化我正在显示的内容。例如 - 我想按“Slip”和“trip”等类型过滤HazardInside.title。
此过滤器需要能够同时过滤许多其他要求,例如日期和天气条件。例如 title="Slip" + weather="Wet" + (dd/mm/yy - dd/mm/yy) 日期之间
我当前的问题是成功创建了一个视图,该视图从我的 dB 请求新数据并将其解析到我的 HTML 页面。
模型.py
class HazardInside(models.Model):
title = models.CharField(max_length=50)
description = models.CharField(max_length=250)
incident_date = models.DateField(auto_now=False)
lat = models.FloatField(max_length=25, default=0.00000)
lng = models.FloatField(max_length=25, default=0.00000)
room_number = models.CharField(max_length=25)
floor = models.CharField(max_length=10)
def __unicode__(self):
return self.title
class InjuryInside(models.Model):
title = models.CharField(max_length=50)
description = models.CharField(max_length=250)
incident_date = models.DateField(auto_now=False)
lat = models.FloatField(max_length=25, default=0.00000)
lng = models.FloatField(max_length=25, default=0.00000)
room_number = models.CharField(max_length=25)
floor = models.CharField(max_length=10)
def __unicode__(self):
return self.title
视图.py
from django.shortcuts import render, HttpResponse
from qutheatmap.models import Markers, HazardInside, InjuryInside
from django.template import RequestContext
from django.shortcuts import render_to_response
def home(request):
marker = Markers.objects.all()
hazardinsides = HazardInside.objects.all()
injuryinsides = InjuryInside.objects.all()
mapdata = {
'markers': marker,
'hazardinsides': hazardinsides,
'injuryinsides': injuryinsides
}
return render(request, 'heatmap/map.html', mapdata)
def search(request):
query = request.GET.get('type')
try:
query = char(query)
except ValueError:
query = None
hazardinsides = None
if query:
hazardinsides = HazardInside.objects.get(title=query)
context = RequestContext(request)
mapdata = {
'markers': marker,
'hazardinsides': hazardinsides,
'injuryinsides': injuryinsides
}
return render_to_response('heatmap/map.html', {"hazardinsides": hazardinsides,}, context_instance=context)
在我的html中
<form method="get" action="http://localhost:8000/qutheatmap/">
Search:<input type="text" name="type" id="id_q" value="{{ query }}"/>
<input type="submit" value="Search" />
</form>
我用我有限的 Django 知识尝试了几种不同的方法,但无济于事,例如:
编辑:
网址
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$', views.home),
url(r'^$', views.search),
]
网址配置
from django.contrib import admin
from django.conf.urls import url, include
from qutheatmap import views
urlpatterns = [
url(r'qutheatmap/', include('qutheatmap.urls')),
]
解决方案
推荐阅读
- sql - 如何将文件从桌面加载到 Hive
- c++ - 包含 CallbackGroups 后 ROS 通信没有响应
- vscode-debugger - VSCode 调试将断点移回上一个
- sql - 缩小 NAVISION 2009 R2 报告上的 SQL 查询范围
- r - 在与 R 约会之后获取下周三的日期
- angular - 从父级引用 tooltip-content html 标签
- excel - 如果标识符相同,则数组内的值总和
- bash - Printf %d 字符串格式化数字
- javascript - 使用 AWS 服务的 chrome 扩展
- javascript - 无法使用 jQuery 过滤具有两个选项卡组的 div