小編寫這篇文章的一個(gè)目的,主要是用來(lái)給大家介紹關(guān)于Python Django的一個(gè)相關(guān)介紹,介紹的內(nèi)容是涉及到查詢功能,比如會(huì)教給我們?nèi)ト绾问褂孟嚓P(guān)的城市信息查詢功能,那么,具體的其實(shí)現(xiàn)步驟是什么呢?下面就給大家詳細(xì)解答下。
前言
基于Pythgo的Django框架,編程實(shí)現(xiàn)一個(gè)WEB程序,為用戶提供城市信息查詢功能。用戶可輸入一個(gè)城市名,輸出其所在省份名稱和郵編等信息。例如,輸入“桂林市”,輸出“廣西壯族自治區(qū)”和“541000”等城市相關(guān)信息。
數(shù)據(jù)準(zhǔn)備階段
版本推薦
本教程的django為4.0.3,python版本為3.10.4,推薦使用,如果不是這些版本的,django,python會(huì)出現(xiàn)錯(cuò)誤!
項(xiàng)目實(shí)現(xiàn)階段
Django工程的建立
在桌面上新建立一個(gè)django文件夾,在vscode的終端打開此文件夾,在終端中創(chuàng)建工程項(xiàng)目,如:
django-admin startproject GongCheng
可以看到左側(cè)資源管理器左側(cè)出現(xiàn)了GongCheng
并在終端運(yùn)行manager.py文件:
DesktopdjangoGongCheng>python manage.py runserver
為項(xiàng)目添加兩個(gè)App,一個(gè)作為主頁(yè),一個(gè)作為省份查詢
PS C:Users用戶DesktopdjangoGongCheng>python manage.py startapp homeApp PS C:Users用戶DesktopdjangoGongCheng>python manage.py startapp aboutApp
添加完成后面,對(duì)應(yīng)左邊資源管理器:
在項(xiàng)目目錄下,創(chuàng)建static文件,在此不便多述,上文件鏈接鏈接:點(diǎn)擊這里下載
路由的配置及訪問(wèn)
在項(xiàng)目路由下的settings.pu文件中的INSTALLED_APPS[]輸入兩個(gè)app的名稱:
渲染界面
完成上面的配置后面,打開homeApp文件夾的views.py,使其通過(guò)代碼返回頁(yè)面,代碼入下:
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文件進(jìn)行連接,獲取css,js樣式:
注:有一些人的Django的版本是2.2.4的,小編的Django版本是最新版本的,所以2.2.4版本的同學(xué),需要在HTML的{%load static%}上改為{%load staticfiles%}
{%load static%} <!DOCTYPE html> <html> <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>首頁(yè)</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>
設(shè)置網(wǎng)站根訪問(wèn)路徑,在項(xiàng)目根目錄找到urls.py找到urlpatterns字段,然后添加首頁(yè)路由:
from django.contrib import admin#已經(jīng)有了 from django.urls import path#已經(jīng)有了 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的目錄下創(chuàng)建urls.py,再在aboutAppurls.py里面添加
from django.urls import path from.import views app_name='aboutApp' urlpatterns=[ path('about/',views.about,name='about'), ]
使app_name擁有名稱。
打開aboutAppviews.py,輸入以下代碼:
from django.shortcuts import render from django.shortcuts import HttpResponse def about(request): html='<html><body>聽我說(shuō)謝謝你</body></html>' return HttpResponse(html) 然后在終端輸入:python manage.py runserver運(yùn)行程序,打開出來(lái)的鏈接
主頁(yè)效果:
aboutApp頁(yè)面效果:
最后,在根目錄的setting.py的INSTALLED_APPS[]上方的ALLOWED_HOSTS=[]添加‘*’:
ALLOWED_HOSTS=['*',]
添加富文本模型
富文本的安裝:需要手動(dòng)安裝下載包,下載網(wǎng)址:https://github.com/twz915/DjangoUeditor3/然后安裝,終端用cd定義到DjangoUeditor3-master,然后輸入以下命令即可完成安裝:
python manage.py install
需要將DjangoUeditor3-master項(xiàng)目中的DjangoUeditor文件夾加入到當(dāng)前GongCheng項(xiàng)目根目錄中:
在項(xiàng)目根目錄下添加DjangoUeditor
添加好文件后,在項(xiàng)目路由下的settings.pu文件中的INSTALLED_APPS[]添加DjangoUeditor
在項(xiàng)目根目錄找到urls.py找到urlpatterns字段,然后添加富文本路由:
path('ueditor/',include('DjangoUeditor.urls')),
在此,完成了富文本的配置
創(chuàng)建城市與省份模型
打開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'省份簡(jiǎn)介',default='',width=800,height=300,) class Meta: verbose_name='數(shù)據(jù)' verbose_name_plural='數(shù)據(jù)' 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'城市簡(jiǎn)介',default='',width=800,height=300) class Meta: verbose_name='城市數(shù)據(jù)' verbose_name_plural='城市數(shù)據(jù)'
然后在根目錄的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
回車會(huì)看到模型已經(jīng)建立
繼續(xù)在終端輸入;python manage.py migrate
回車:
模型就在后端了。接下來(lái)我們注冊(cè)超級(jí)管理員用戶,就可以在后臺(tái)管理系統(tǒng)看到模型了。
后臺(tái)管理系統(tǒng)
因?yàn)閐jango自己會(huì)建立后臺(tái)管理系統(tǒng),所以我們只需要在注冊(cè)創(chuàng)建管理員用戶賬號(hào):
python manage.py createsuperuser
回車后出現(xiàn)了頁(yè)面,按照以下輸入即可:Username(管理員的賬號(hào),自己隨意取)
通過(guò)http://127.0.0.1:8000/admin/進(jìn)入頁(yè)面,如果打不開,請(qǐng)?jiān)诮K端輸入python manage.py runserver運(yùn)行程序
我們通過(guò)賬號(hào)密碼進(jìn)入后臺(tái)管理系統(tǒng)后,我們是看不到模型的,我們需要在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='地市數(shù)據(jù)' admin.site.site_title='地市數(shù)據(jù)'
刷新后臺(tái)界面,我們可以看到模型已經(jīng)出來(lái)了:
我們可以瀏覽一下我們的界面,內(nèi)部已經(jīng)覆蓋了一對(duì)多的模型,富文本文件:
我們可以后臺(tái)輸入數(shù)據(jù),然后傳到對(duì)應(yīng)頁(yè)面啦。
綜上所述,這篇文章就給大家介紹到這里了,希望可以給大家?guī)?lái)幫助。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/128426.html
摘要:在談中框架和框架的區(qū)別之前,我們需要先探討如下幾個(gè)問(wèn)題。通過(guò)大數(shù)據(jù)統(tǒng)計(jì)分析全球著名的網(wǎng)站對(duì)和這兩個(gè)框架的調(diào)查分析。從全球著名的代碼托管平臺(tái)上的和數(shù)量上分別為,分別為。 在談Python中Django框架和Flask框架的區(qū)別之前,我們需要先探討如下幾個(gè)問(wèn)題。 一、為什么要使用框架? showImg(https://segmentfault.com/img/remote/14600000...
摘要:整個(gè)項(xiàng)目簡(jiǎn)單還具有實(shí)用價(jià)值,可作為的實(shí)戰(zhàn)項(xiàng)目學(xué)習(xí)的調(diào)試工具欄。查看文檔自動(dòng)在個(gè)人首頁(yè)展示編程時(shí)長(zhǎng)的工具。通過(guò)學(xué)習(xí)這些前沿的人工智能論文,提前了解在未來(lái)更多可能性可以將圖片和視頻轉(zhuǎn)換成漫畫風(fēng)格的工具。興趣是最好的老師,HelloGitHub 讓你對(duì)編程感興趣!簡(jiǎn)介HelloGitHub 分享 GitHub 上有趣、入門級(jí)的開源項(xiàng)目。https://github.com/521xueweihan...
摘要:在線嘗試的進(jìn)程管理工具。項(xiàng)目包含了代碼實(shí)現(xiàn)運(yùn)行過(guò)程動(dòng)畫以及相關(guān)論文為系統(tǒng)提供人臉識(shí)別解鎖電腦的工具。在線閱讀教科書計(jì)算機(jī)體系結(jié)構(gòu)基礎(chǔ)第三版。 .markdown-body{word-break:break-word;line-height:1.75;font-weight:400;font-size:15px;overflow-x:hidden;color:#333}.markdown-b...
摘要:注一篇去年的舊文,發(fā)現(xiàn)沒(méi)在知乎發(fā)過(guò),過(guò)來(lái)補(bǔ)個(gè)檔。于是就有了我們這個(gè)小項(xiàng)目電影票比價(jià)網(wǎng)在我們這個(gè)網(wǎng)頁(yè)上,會(huì)展示出當(dāng)前熱映的電影。涉及到模塊主要是用來(lái)匹配不同渠道的影院信息代碼結(jié)構(gòu)項(xiàng)目主要有三塊使用豆瓣每日更新上映的影片列表。 注:一篇去年的舊文,發(fā)現(xiàn)沒(méi)在知乎發(fā)過(guò),過(guò)來(lái)補(bǔ)個(gè)檔。有個(gè)小問(wèn)題是項(xiàng)目中淘票票的網(wǎng)頁(yè)反爬提升且變動(dòng)較多,目前暫不可用了。 時(shí)常有同學(xué)會(huì)問(wèn)我類似的問(wèn)題:我已經(jīng)學(xué)完了 Py...
摘要:快速安裝指南在你使用之前,你需要安裝它。安裝作為一個(gè)框架,需要。這對(duì)于大多數(shù)用戶來(lái)說(shuō)是最好的方法。安裝操作系統(tǒng)發(fā)行版提供的版本。安裝最新的開發(fā)版本。那些僅在的開發(fā)版本中可用的短語(yǔ)標(biāo)記功能,并且它們可能不適用于正式版本。 快速安裝指南 在你使用Django之前,你需要安裝它。 我們有一個(gè)完整的安裝指南,涵蓋所有的可能性; 本指南將引導(dǎo)您進(jìn)行一個(gè)簡(jiǎn)單的,最小化的安裝,這將在您通讀介紹時(shí)起作...
閱讀 956·2023-01-14 11:38
閱讀 936·2023-01-14 11:04
閱讀 787·2023-01-14 10:48
閱讀 2157·2023-01-14 10:34
閱讀 1005·2023-01-14 10:24
閱讀 895·2023-01-14 10:18
閱讀 545·2023-01-14 10:09
閱讀 622·2023-01-14 10:02