淺談Python之Django
工具版本
python版本:3.8 django版本:2.0.0 mysql版本: 5.5.53 pip3
創(chuàng)建工程djangostart
Django-admin startproject djangostart

創(chuàng)建項(xiàng)目message
從day17目錄下執(zhí)行命令
cd djangostart
Django-admin startapp message
創(chuàng)建一些輔助目錄
創(chuàng)建log目錄 – 記錄日志的目錄
創(chuàng)建media目錄 --上傳的文件
創(chuàng)建static目錄 – 放css、image、js文件
創(chuàng)建templates目錄 – 放靜態(tài)文件

連接數(shù)據(jù)庫(kù)(保證自己的數(shù)據(jù)庫(kù)已啟動(dòng))
進(jìn)入setting.py文件,修改DATABASES
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # mysql類型
'NAME': 'testdjango', #數(shù)據(jù)庫(kù)名稱
'USER': 'root', # 賬號(hào)
'PASSWORD': 'root', # 密碼
'HOST': '127.0.0.1' # host
}
}
重新運(yùn)行python manage.py runserver 0.0.0.0:8888,出現(xiàn)錯(cuò)誤No module named ‘MySQLdb'

pip3 install mysqlclient
python manage.py runserver 0.0.0.0:8888,成功
生成數(shù)據(jù)表
python manage.py makemigrations
python manage.py migrate

原因是:django版本跟數(shù)據(jù)庫(kù)版本不對(duì)應(yīng),Django2.1不再支持MySQL5.5,必須5.6版本以上
phpStudy查看當(dāng)前使用的MySQL的版本 1、打開(kāi)面板 2、其他選項(xiàng)菜單 3、MySQL工具 4、MySQL命令行 5、運(yùn)行select version();命令
django版本查看 import django django.version
解決辦法:
二選一
(1)Django降級(jí)到2.0(我選擇的是這種)
pip3 install Django==2.0.0 -i https://pypi.douban.com/simple
(2)MySQL升級(jí)
參考:http://www.cnblogs.com/yebaofang/p/9863678.html
訪問(wèn)form.html
在message目錄下的views.py文件中定義視圖函數(shù)get_form
def getform(request):
return render(request,'message_form.html')
在djangostart目錄下的urls.py文件中定義路由
from django.contrib import admin
from django.urls import path
from django.conf.urls import url
from message import views as message_views
urlpatterns = [
path(r'^admin/', admin.site.urls),
url(r'^form/$',message_views.getform)
]
在templates目錄下創(chuàng)建message_form.html文件

重啟服務(wù)器:python manage.py runserver 0.0.0.0:8888
訪問(wèn)127.0.0.0:8888/form/ (自己的端口號(hào))

修改djangostart目錄下的setting.py文件中的TEMPLATES中的DIR
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [BASE_DIR+"/templates",], # 修改位置
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
在setting.py文件中修改static目錄,這樣才能正確 的引入css、js、img等文件
STATICFILES_DIRS = [
os.path.join(BASE_DIR,'static')
]

總結(jié)
本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
Python趣味挑戰(zhàn)之給幼兒園弟弟生成1000道算術(shù)題
為了讓弟弟以后好好學(xué)習(xí),我特地用Python給他生成了1000道算術(shù)題讓他做,他以后一定會(huì)感謝我的!文中有非常詳細(xì)的代碼示例,需要的朋友可以參考下2021-05-05
Python數(shù)據(jù)處理之臨近匹配的實(shí)現(xiàn)詳解
在數(shù)據(jù)處理中,經(jīng)常需要找到最接近給定值的元素或數(shù)據(jù)點(diǎn),這種需求在科學(xué)、工程和統(tǒng)計(jì)分析中非常常見(jiàn),Python 提供了多種方法來(lái)實(shí)現(xiàn)這種臨近匹配,下面就跟隨小編一起學(xué)習(xí)一下吧2024-02-02
使用Python+Flask開(kāi)發(fā)博客項(xiàng)目并實(shí)現(xiàn)內(nèi)網(wǎng)穿透
Flask是一個(gè)使用python編寫(xiě)的輕量級(jí)Web框架,這篇文章我們將使用這個(gè)框架編寫(xiě)一個(gè)屬于自己的博客網(wǎng)站!并教你如何通過(guò)使用內(nèi)網(wǎng)穿透工具處理項(xiàng)目,讓本地的項(xiàng)目可以在公網(wǎng)訪問(wèn),感興趣的可以了解一下2021-11-11
Python使用Pandas庫(kù)實(shí)現(xiàn)MySQL數(shù)據(jù)庫(kù)讀寫(xiě)
本次分享將介紹如何在Python中使用Pandas庫(kù)實(shí)現(xiàn)MySQL數(shù)據(jù)庫(kù)的讀寫(xiě),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08
python列表中remove()函數(shù)的使用方法詳解
python中小數(shù)點(diǎn)后取2位(四舍五入)及取2位(四舍五不入)的方法

