Django城市信息查询功能的实现步骤

目录
  • 前言
  • 数据准备阶段
  • 版本推荐
  • 项目实现阶段
    • Django 工程的建立
    • 路由的配置及访问
    • 添加富文本模型
  • 创建城市与省份模型
    • 后台管理系统
  • 总结

前言

基于 Pythgo的 Django 框架,编程实现一个 WEB 程序,为用户提供 城市信息查询功能。用户可输入一个城市名,输出其所在省份名称和邮编 等信息。例如,输入“桂林市”,输出“广西壮族自治区”和“541000”等 城市相关信息。

数据准备阶段

版本推荐

本教程的django为4.0.3,python版本为3.10.4,推荐使用,如果不是这些版本的,django,python会出现错误

项目实现阶段

Django 工程的建立

在桌面上新建立一个django文件夹,在vscode的终端打开此文件夹,在终端中创建工程项目,如:

 django-admin startproject GongCheng

可以看到左侧资源管理器左侧出现了GongCheng

并在终端运行manager.py文件:

Desktop\django\GongCheng> python manage.py runserver

为项目添加两个App,一个作为主页,一个作为省份查询:

PS C:\Users\用户\Desktop\django\GongCheng> python manage.py startapp homeApp
PS C:\Users\用户\Desktop\django\GongCheng> python manage.py startapp aboutApp

添加完成后面,对应左边资源管理器:

在项目目录下,创建static文件,在此不便多述,上文件链接链接:点击这里下载

路由的配置及访问

在项目路由下的settings.pu文件中的INSTALLED_APPS[ ]输入两个app的名称:

渲染界面

完成上面的配置后面,打开homeApp文件夹的views.py,使其通过代码返回页面,代码入下:

from django.shortcuts import render
from django.shortcuts import HttpResponse

# Create your views here.
def home(request):
    return render(request, 'home.html')

然后在homeApp下建立templates文件夹,在该文件夹中建立home.html:

并且在html中输入以下代码,使文件与static文件进行连接,获取css,js样式:

注:有一些人的Django的版本是2.2.4的,小编的Django版本是最新版本的,所以2.2.4版本的同学,需要在HTML的{% load static %}上改为{% load staticfiles %}

{% load static %}
<!DOCTYPE html>
<html lang="zh-cn">

<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>首页</title>
    <link href="{% static 'css/bootstrap.css' %}" rel="stylesheet">
    <link href="{% static 'css/style.css' %}" rel="stylesheet">
    <script src="{% static 'js/jquery.min.js' %}"></script>
    <script src="{% static 'js/bootstrap.min.js' %}"></script>
</head>

<body>

</body>

</html>

设置网站根访问路径,在项目根目录找到urls.py找到urlpatterns字段,然后添加首页路由:

from django.contrib import admin#已经有了
from django.urls import path#已经有了
from homeApp.views import home
from django.conf.urls import include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('',home,name='home'),
    path('aboutApp/',include('aboutApp.urls')),
]

在aboutApp的目录下创建urls.py,再在aboutApp\urls.py里面添加

from django.urls import path
from . import views

app_name = 'aboutApp'

urlpatterns = [
         path('about/',views.about,name='about'),
]

使app_name拥有名称。

打开aboutApp\views.py,输入以下代码:

from django.shortcuts import render
from django.shortcuts import HttpResponse

def about(request):
    html='<html><body>听我说谢谢你</body></html>'
    return HttpResponse(html)

然后在终端输入:python manage.py runserver    运行程序,打开出来的链接

主页效果:

aboutApp页面效果:

最后,在根目录的setting.py的INSTALLED_APPS[ ]上方的ALLOWED_HOSTS = [ ]添加 ‘*’ :

ALLOWED_HOSTS = ['*',]

添加富文本模型

富文本的安装:需要手动安装下载包,下载网址:https://github.com/twz915/DjangoUeditor3/然后安装终端用cd定义到DjangoUeditor3-master,然后输入以下命令即可完成安装:

python manage.py install

需要将DjangoUeditor3-master项目中的DjangoUeditor文件夹加入到当前GongCheng项目根目录中:

在项目根目录下添加DjangoUeditor

添加好文件后,在项目路由下的settings.pu文件中的INSTALLED_APPS[ ]添加DjangoUeditor

在项目根目录找到urls.py找到urlpatterns字段,然后添加富文本路由:

path('ueditor/',include('DjangoUeditor.urls')),

在此,完成了富文本的配置

创建城市与省份模型

打开aboutApp的models.py文件,在该文件中添加省份模型(Province)

from django.db import models
from DjangoUeditor.models import UEditorField
from django.utils import timezone

class Province(models.Model):
    name = models.CharField(max_length=10,verbose_name='省份')
    capital= models.CharField(max_length=8, verbose_name='首府')
    concise=UEditorField(u'省份简介',default='',width=800,height=300,)
    class Meta:
            verbose_name ='数据'
            verbose_name_plural ='数据'
    def __str__(self):
        return self.name

class City(models.Model):
    province = models.ForeignKey(Province,related_name='city',verbose_name='省份',on_delete=models.CASCADE)
    name = models.CharField(max_length=10,verbose_name="城市")
    mail = models.IntegerField(null=False,verbose_name='邮政编码')
    concise=UEditorField(u'城市简介',default='',width=800,height=300)
    class Meta:
        verbose_name ='城市数据'
        verbose_name_plural ='城市数据'

然后在根目录的setting.py添加以下代码:

import os

STATICFILES_DIRS = (
   os.path.join(BASE_DIR, "static"),
)
MEDIA_URL='/media/'
MEDIA_ROOT=os.path.join(BASE_DIR,'media/')

然后在终端输入:python manage.py makemigrations

回车会看到模型已经建立

继续在终端输入;python manage.py migrate

回车:

模型就在后端了。 接下来我们注册超级管理员用户,就可以在后台管理系统看到模型了。

后台管理系统

因为django自己会建立后台管理系统,所以我们只需要在注册创建管理员用户账号:

python manage.py createsuperuser

回车后出现了页面,按照以下输入即可:Username(管理员的账号,自己随意取)

通过 http://127.0.0.1:8000/admin/ 进入页面,如果打不开,请在终端输入python manage.py runserver 运行程序

我们通过账号密码进入后台管理系统后,我们是看不到模型的,我们需要在aboutApp中的admin.py文件,编辑以下代码:

from django.contrib import admin
from .models import *
class Cityline(admin.StackedInline):

    model = City
    extra = 1     

class ProvinceAdmin(admin.ModelAdmin):
    inlines = [Cityline,]
admin.site.register(Province, ProvinceAdmin)
admin.site.site_header='地市数据'
admin.site.site_title='地市数据'

刷新后台界面,我们可以看到模型已经出来了:

我们可以浏览一下我们的界面,内部已经覆盖了一对多的模型,富文本文件:

我们可以后台输入数据,然后传到对应页面啦。

总结

到此这篇关于Django城市信息查询功能的文章就介绍到这了,更多相关Django城市信息查询内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 在Django的视图中使用数据库查询的方法

    在视图中也有笨方法可以从数据库中获取数据. 很简单: 用现有的任何 Python 类库执行一条 SQL 查询并对结果进行一些处理. 在本例的视图中,我们使用了 MySQLdb 类库(可以从 http://www.djangoproject.com/r/python-mysql/ 获得)来连接 MySQL 数据库,取回一些记录,将它们提供给模板以显示一个网页: from django.shortcuts import render_to_response import MySQLdb def bo

  • Django中对数据查询结果进行排序的方法

    在你的 Django 应用中,你或许希望根据某字段的值对检索结果排序,比如说,按字母顺序. 那么,使用 order_by() 这个方法就可以搞定了. >>> Publisher.objects.order_by("name") [<Publisher: Apress>, <Publisher: O'Reilly>] 跟以前的 all() 例子差不多,SQL语句里多了指定排序的部分: SELECT id, name, address, city,

  • Django城市信息查询功能的实现步骤

    目录 前言 数据准备阶段 版本推荐 项目实现阶段 Django 工程的建立 路由的配置及访问 添加富文本模型 创建城市与省份模型 后台管理系统 总结 前言 基于 Pythgo的 Django 框架,编程实现一个 WEB 程序,为用户提供 城市信息查询功能.用户可输入一个城市名,输出其所在省份名称和邮编 等信息.例如,输入“桂林市”,输出“广西壮族自治区”和“541000”等 城市相关信息. 数据准备阶段 版本推荐 本教程的django为4.0.3,python版本为3.10.4,推荐使用,如果不

  • Python实现的手机号归属地相关信息查询功能示例

    本文实例讲述了Python实现的手机号归属地相关信息查询功能.分享给大家供大家参考,具体如下: 根据指定的手机号码,查询其归属地等相关信息,Python实现: 手机号文件:test.txt 13693252552 13296629989 13640810839 15755106631 15119622732 13904446048 18874791953 13695658500 13695658547 15950179080 15573462779 15217624651 15018485989

  • python 3.6 tkinter+urllib+json实现火车车次信息查询功能

    一.概述 妹子工作时需要大量地查询火车车次至南京的信息,包括该车次到达站(南京站or南京南站).到达时间.出发时间等,然后根据这些信息做下一步工作. 版本结束,趁着间歇期,帮她弄了个简易的批量查询工具,粉色的按钮是给她用的~哈哈哈! (๑*◡*๑) 大概80行代码,主要是: 界面读取待查询车次 - - - - 调用车次信息接口- - - - 解析返回数据 - - - - 组装结果 - - - - 封装到界面(tkinter) python+tkinter实现界面,详见之前的学习笔记:http:/

  • JAVA基于数组实现的商品信息查询功能示例

    本文实例讲述了JAVA基于数组实现的商品信息查询功能.分享给大家供大家参考,具体如下: 综合一维数组和二维数组的相关知识,以及数组排序的多种算法来实现商品信息查询的功能. 假设在仓库系统中,每件商品都有 3 个库存信息,分别是入库量.出库量和当前库存量.定义一个一维数组来存储 5 件商品的名称,并定义一个二维数组来存储这 5 件商品的 3 个库存信息.用户可以根据商品名称查询该商品的所有库存,也可以查看某个类别库存下数量小于 100 的商品名单,并将该类别的所有库存量按从低到高的顺序排列. 具体

  • Jsoup解析html实现招聘信息查询功能

    jsoup 是一款 Java 的 HTML 解析器,可直接解析某个 URL 地址.HTML 文本内容.它提供了一套非常省力的 API,可通过 DOM,CSS 以及类似于 jQuery 的操作方法来取出和操作数据. 下面是招聘网站的html信息: <div class="newlist_list_content" id="newlist_list_content_table"> <table width="853" class=&

  • AngularJS模糊查询功能实现代码(过滤内容下拉菜单排序过滤敏感字符验证判断后添加表格信息)

    注:添加球员的功能无指定技术要求,添加球员的页面也无具体样式要求. 1.实现上图页面所有元素,页面布局规整,跟上图效果一致 2.实现文案显示,按效果显示 3.实现查询,实现查询敏感词过滤,实现查询后列表变化 4.实现倒序,实现正序,下拉列表排序效果都实现 5.按钮背景一致,按钮样式 6.实现添加球员页面,添加球员页面样式,添加球员功能,添加球员必填项判断,添加完球员后能显示在表格内,已存在球员判重. 7.表格样式跟上图样式一致 代码: <!DOCTYPE html> <html lang

  • ThinkPHP框架实现用户信息查询更新及删除功能示例

    本文实例讲述了ThinkPHP框架实现用户信息查询更新及删除功能.分享给大家供大家参考,具体如下: 一 代码 1.配置文件 <?php return array( 'APP_DEBUG' => false, // 关闭调试模式 'DB_TYPE'=> 'mysql', // 数据库类型 'DB_HOST'=> 'localhost', // 数据库服务器地址 'DB_NAME'=>'db_database30', // 数据库名称 'DB_USER'=>'root',

  • 用Django写天气预报查询网站

    创建项目 创建工程项目如下所示: 设置文件settings.py中的设置主要有两个 1.注册app 2.设置templates的路径 前面的文章已经介绍过多次如何设置了,此处不再做详细赘述. 接口api为:http://api.map.baidu.com/telematics/v3/weather?location=%E9%83%91%E5%B7%9E&output=json&ak=TueGDhCvwI6fOrQnLM0qmXxY9N0OkOiQ&callback=? 主要流程分以

  • 使用Python的web.py框架实现类似Django的ORM查询的教程

    Django中的对象查询 Django框架自带了ORM,实现了一些比较强大而且方便的查询功能,这些功能和表无关.比如下面这个例子: class Question(models.Model): question_text = models.CharField(max_length=200) pub_date = models.DateTimeField('date published') >>> Question.objects.all() >>> Question.ob

  • 通过Web Service实现IP地址查询功能的示例

    实例01 实现一个简单的Web服务访问 本实例将实现IP地址查询接口服务,根据用户传入的IP地址返回IP所在的省.市.地区,实例中将会用到IP地址库用于查询信息,由于数据较多,所以读者可在光盘资源文件中直接附加数据库文件,这里将不再介绍导入数据的过程. 程序实现步骤如下: (1)打开Visual Studio 2017开发环境,然后依次点击文件→新建→项目,在弹出的新建项目对话框中选择"ASP.NET Web应用程序"选项,然后更改项目名称和项目路径,如图12.1所示. 图12.1 新

随机推荐