小編寫這篇文章的一個(gè)目的,主要是用來給大家介紹關(guān)于Python Django的一個(gè)相關(guān)介紹,介紹的內(nèi)容是涉及到查詢功能,比如會教給我們?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會出現(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è)作為主頁,一個(gè)作為省份查詢
PS C:Users用戶DesktopdjangoGongCheng>python manage.py startapp homeApp PS C:Users用戶DesktopdjangoGongCheng>python manage.py startapp aboutApp
添加完成后面,對應(yīng)左邊資源管理器:
在項(xiàng)目目錄下,創(chuàng)建static文件,在此不便多述,上文件鏈接鏈接:點(diǎn)擊這里下載
路由的配置及訪問
在項(xiàng)目路由下的settings.pu文件中的INSTALLED_APPS[]輸入兩個(gè)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文件進(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>首頁</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)站根訪問路徑,在項(xiàng)目根目錄找到urls.py找到urlpatterns字段,然后添加首頁路由:
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>聽我說謝謝你</body></html>' return HttpResponse(html) 然后在終端輸入:python manage.py runserver運(yùn)行程序,打開出來的鏈接
主頁效果:
aboutApp頁面效果:
最后,在根目錄的setting.py的INSTALLED_APPS[]上方的ALLOWED_HOSTS=[]添加‘*’:
ALLOWED_HOSTS=['*',]
添加富文本模型
富文本的安裝:需要手動安裝下載包,下載網(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'省份簡介',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'城市簡介',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
回車會看到模型已經(jīng)建立
繼續(xù)在終端輸入;python manage.py migrate
回車:
模型就在后端了。接下來我們注冊超級管理員用戶,就可以在后臺管理系統(tǒng)看到模型了。
后臺管理系統(tǒng)
因?yàn)閐jango自己會建立后臺管理系統(tǒng),所以我們只需要在注冊創(chuàng)建管理員用戶賬號:
python manage.py createsuperuser
回車后出現(xiàn)了頁面,按照以下輸入即可:Username(管理員的賬號,自己隨意取)
通過http://127.0.0.1:8000/admin/進(jìn)入頁面,如果打不開,請?jiān)诮K端輸入python manage.py runserver運(yùn)行程序
我們通過賬號密碼進(jìn)入后臺管理系統(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ù)'
刷新后臺界面,我們可以看到模型已經(jīng)出來了:
我們可以瀏覽一下我們的界面,內(nèi)部已經(jīng)覆蓋了一對多的模型,富文本文件:
我們可以后臺輸入數(shù)據(jù),然后傳到對應(yīng)頁面啦。
綜上所述,這篇文章就給大家介紹到這里了,希望可以給大家?guī)韼椭?/p>
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/128426.html
摘要:在談中框架和框架的區(qū)別之前,我們需要先探討如下幾個(gè)問題。通過大數(shù)據(jù)統(tǒng)計(jì)分析全球著名的網(wǎng)站對和這兩個(gè)框架的調(diào)查分析。從全球著名的代碼托管平臺上的和數(shù)量上分別為,分別為。 在談Python中Django框架和Flask框架的區(qū)別之前,我們需要先探討如下幾個(gè)問題。 一、為什么要使用框架? showImg(https://segmentfault.com/img/remote/14600000...
摘要:整個(gè)項(xiàng)目簡單還具有實(shí)用價(jià)值,可作為的實(shí)戰(zhàn)項(xiàng)目學(xué)習(xí)的調(diào)試工具欄。查看文檔自動在個(gè)人首頁展示編程時(shí)長的工具。通過學(xué)習(xí)這些前沿的人工智能論文,提前了解在未來更多可能性可以將圖片和視頻轉(zhuǎn)換成漫畫風(fēng)格的工具。興趣是最好的老師,HelloGitHub 讓你對編程感興趣!簡介HelloGitHub 分享 GitHub 上有趣、入門級的開源項(xiàng)目。https://github.com/521xueweihan...
摘要:在線嘗試的進(jìn)程管理工具。項(xiàng)目包含了代碼實(shí)現(xiàn)運(yùn)行過程動畫以及相關(guān)論文為系統(tǒng)提供人臉識別解鎖電腦的工具。在線閱讀教科書計(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)沒在知乎發(fā)過,過來補(bǔ)個(gè)檔。于是就有了我們這個(gè)小項(xiàng)目電影票比價(jià)網(wǎng)在我們這個(gè)網(wǎng)頁上,會展示出當(dāng)前熱映的電影。涉及到模塊主要是用來匹配不同渠道的影院信息代碼結(jié)構(gòu)項(xiàng)目主要有三塊使用豆瓣每日更新上映的影片列表。 注:一篇去年的舊文,發(fā)現(xiàn)沒在知乎發(fā)過,過來補(bǔ)個(gè)檔。有個(gè)小問題是項(xiàng)目中淘票票的網(wǎng)頁反爬提升且變動較多,目前暫不可用了。 時(shí)常有同學(xué)會問我類似的問題:我已經(jīng)學(xué)完了 Py...
摘要:快速安裝指南在你使用之前,你需要安裝它。安裝作為一個(gè)框架,需要。這對于大多數(shù)用戶來說是最好的方法。安裝操作系統(tǒng)發(fā)行版提供的版本。安裝最新的開發(fā)版本。那些僅在的開發(fā)版本中可用的短語標(biāo)記功能,并且它們可能不適用于正式版本。 快速安裝指南 在你使用Django之前,你需要安裝它。 我們有一個(gè)完整的安裝指南,涵蓋所有的可能性; 本指南將引導(dǎo)您進(jìn)行一個(gè)簡單的,最小化的安裝,這將在您通讀介紹時(shí)起作...
閱讀 1170·2023-01-14 11:38
閱讀 1160·2023-01-14 11:04
閱讀 987·2023-01-14 10:48
閱讀 2538·2023-01-14 10:34
閱讀 1241·2023-01-14 10:24
閱讀 1124·2023-01-14 10:18
閱讀 736·2023-01-14 10:09
閱讀 818·2023-01-14 10:02