Django写一个登录注册---001创建项目以及设计数据库
Djanog開發(fā)小項(xiàng)目實(shí)踐,眾所周知,一個產(chǎn)品往往需要登錄注冊這些功能,所以我這里實(shí)現(xiàn)一下登錄注冊的開發(fā)。
使用pycharm(專業(yè)版)創(chuàng)建一個django項(xiàng)目,不是專業(yè)版看不到創(chuàng)建django的字樣哦。這邊注意一下你是使用什么環(huán)境下的python解釋器,我沒有使用python的虛擬環(huán)境,這個需要注意一下哈。
創(chuàng)建之后,在pycharm中可以看見下面這些文件,我創(chuàng)建的文件是hylogin。
我們再去創(chuàng)建app吧,這里使用命令去創(chuàng)建,命令《python manage.py startapp login》,那么我是在哪里輸入的命令呢,沒錯,就是在pycharm的控制臺terminal上輸入的命令,如果沒有報(bào)錯,那么就是新建成功了。恭喜你成功了第一步,如果在django3上面,有些人就沒有那么成功了。這個后面再講。我么先講剛才創(chuàng)建的app login結(jié)構(gòu)是什么樣的。
創(chuàng)建好之后,我們觀察如下:
好了,我們說一下上面創(chuàng)建app時候可能遇到的問題,如果你輸入命令之后,在底部發(fā)現(xiàn)提示這個,那么你只需要在setting.py文件中加上import os即可。我也不知道為什么,我先觀察的是manage.py文件中有導(dǎo)入os,按理來說不應(yīng)該會提示這個問題,后面我嘗試在配置文件setting.py中導(dǎo)入發(fā)現(xiàn)不會報(bào)錯了。就是這么神奇。
養(yǎng)成這種習(xí)慣可好,每次我們創(chuàng)建app之后,都去setting.py中將app注冊進(jìn)去,
觀察發(fā)現(xiàn),他自己本身就攜帶了幾個app,有admin后臺管理,session會話管理等。
最后,我們還要改一點(diǎn)東西,因?yàn)槲覀兪侵袊?#xff0c;我們習(xí)慣于中國時區(qū)等元素,我們可以去setting.py中修改一下配置,如下我們修改了TIME_ZONE,我們一定要將USE_TZ改為false,具體看到這句解釋我還是不太懂。(求教)至此我們登錄注冊需要使用的功能文件就都準(zhǔn)備好了,我們先去看看能不能打開頁面,在pycharm終端輸入命令《python manage.py runserver》正常來講不會報(bào)錯,那么我們就按照它提示的我們打開那個地址,去瀏覽器看看是什么樣子吧。
如果是下面這張圖,恭喜你成功了,那為什么這里什么都沒有呢,那是我們什么頁面也沒有寫。
以上僅是前期的準(zhǔn)備工作,之后我們構(gòu)想我們使用登錄注冊功能,首先根據(jù)MVT模式,(我理解的MVT就是先思考有哪些數(shù)據(jù)字段,然后再去構(gòu)建視圖,再去寫前端模板)我們要先創(chuàng)建models,也就是django的數(shù)據(jù)庫相關(guān)內(nèi)容。但是user這個東西django自帶一個庫,我們是使用自帶的還是自己去寫一個庫呢,后面還是決定自己寫models去實(shí)現(xiàn)。
在login app中的models.py文件中寫上數(shù)據(jù)庫需要的字段吧,走起
我們給用戶數(shù)據(jù)庫加上哪幾個字段呢?用戶名,密碼,昵稱,郵箱,性別,注冊時間。
注意事項(xiàng):
1、我們一般會加上__str__和Meta等信息
2、加上models之后,我們要去執(zhí)行命令《python manage.py makemigrations》和《python manage.py migrate》,這兩行命令是表示我們要知道m(xù)odel中有哪些進(jìn)行了修改,然后生成遷移文件。每次修改model中的內(nèi)容之后,兩條命令都執(zhí)行一下。
執(zhí)行命令之后,我們這里生成了下面這些內(nèi)容
我們創(chuàng)建的數(shù)據(jù)字段,在admin后臺都有記錄,于是我們?nèi)jango自帶的后臺查看一下吧,于是先創(chuàng)建超級用戶用于登錄后臺,在終端執(zhí)行命令《python manage.py createsuperuser》,然后輸入用戶名和郵箱密碼等即可。
如果你就是這樣屁顛屁顛的跑去打開管理后臺,訪問地址就是在執(zhí)行命令《python manage.py runserver》之后打開的網(wǎng)址中加入/admin/即可《http://127.0.0.1:8000/admin/》
咦,怎么沒有發(fā)現(xiàn)我們創(chuàng)建的數(shù)據(jù)類呢?
哦,那可能是我們沒有注冊到admin后臺嗎?沒錯就是這樣,那怎么去注冊呢?
告訴你吧,在app login中找到admin.py,輸入下面這段代碼,就能夠注冊在admin后臺,為什么注冊進(jìn)去呢,方便我們管理數(shù)據(jù)啊,我們可以通過后臺去添加或者刪除數(shù)據(jù)呢?媽媽看見了都說可方便啦。
再刷新一下后臺,這不就出來了嗎。如果有人問我,為什么展示的是用戶名3個字,而不是我們定義的class User,我一巴掌呼過去,看到我們上面定義的Meta?里面有verbose_name = "用戶名"和下面ddverbose_name_plural = "用戶名"的定義,取得數(shù)據(jù)就來自這里。你可以修改一下這里的數(shù)據(jù),刷新去admin后臺看看有什么變化哈。
添加到admin后臺我們就能夠進(jìn)去添加用戶,當(dāng)后面做出前端頁面以及后臺數(shù)據(jù)處理之后,我們能夠使用這個賬號登錄啦。
說實(shí)話還有很多小細(xì)節(jié)自己還沒有弄完整,具體更詳細(xì)的教學(xué)你們?nèi)ゾW(wǎng)上搜索django教程即可,我也是剛?cè)腴T,寫文檔記錄自己的學(xué)習(xí)。比如數(shù)據(jù)庫選型我這里直接用默認(rèn)的,沒有接入其它數(shù)據(jù)庫。
登錄注冊第一課完結(jié)撒花!!!
總結(jié)
以上是生活随笔為你收集整理的Django写一个登录注册---001创建项目以及设计数据库的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网友自曝取公积金血泪史 给你点希望又让你
- 下一篇: mysql求回购率_用户行为分析——回购