下面是针对Django实现城市信息查询功能的完整攻略。具体实现步骤如下:
第一步:创建Django项目和应用
首先需要在终端中安装Django,然后创建一个Django的项目和应用。在命令行中输入以下命令:
django-admin startproject cityquery
cd cityquery
python manage.py startapp city
第二步:创建城市模型
接着,需要在city应用下创建一个城市模型,用于存储城市信息。可以在city/models.py文件中定义一个City类,包含城市名称和所在国家:
from django.db import models
class City(models.Model):
name = models.CharField(max_length=100)
country = models.CharField(max_length=100)
def __str__(self):
return self.name
第三步:创建城市视图
接着,需要创建一个视图来响应城市信息查询请求。在city/views.py中定义一个city_search视图,用于查询城市信息:
from django.shortcuts import render
from .models import City
def city_search(request):
query = request.GET.get('q')
cities = City.objects.filter(name__icontains=query)
return render(request, 'city_search.html', {'cities': cities})
在这里,city_search视图中使用请求中的query参数来进行城市查询,使用name__icontains查询条件进行模糊匹配,并将查询结果传递给一个名为city_search.html的模板文件。
第四步:创建城市搜索表单
接下来,需要在city查询页面上提供一个搜索表单,用于输入城市名进行查询。在city/templates文件夹下创建一个名为city_search.html的模板文件,添加以下代码:
{% extends 'base.html' %}
{% block content %}
<h1>城市信息查询</h1>
<form>
<input type="text" name="q">
<input type="submit" value="查询">
</form>
{% for city in cities %}
<p>{{ city.name }} - {{ city.country }}</p>
{% empty %}
<p>No results found</p>
{% endfor %}
{% endblock %}
这个模板包括一个搜索表单和一个循环结构,用于遍历城市查询结果并将结果输出到页面上。
第五步:注册城市模型和创建数据库
在city/admin.py中,需要注册城市模型,方便在Django自带的管理页面中管理城市信息:
from django.contrib import admin
from .models import City
admin.site.register(City)
然后,在终端中运行以下命令,创建城市模型对应的数据库表:
python manage.py makemigrations
python manage.py migrate
示例一:添加城市信息
现在,可以在Django自带的管理页面中添加城市信息。在网页浏览器中打开http://127.0.0.1:8000/admin/,输入Django项目的超级用户账号和密码,进入管理页面。在页面上找到City模型对应的链接,进入城市信息管理页面,点击“新增城市”按钮,然后添加一些城市信息。
示例二:查询城市信息
完成城市信息添加之后,现在可以在网站的城市查询页面进行城市信息查询。在网页浏览器中输入http://127.0.0.1:8000/city/search/,进入城市查询页面。输入查询关键字,点击“查询”按钮,即可查询到满足条件的城市信息并在页面上展示出来。
以上就是使用Django实现城市信息查询功能的完整攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Django城市信息查询功能的实现步骤 - Python技术站