Django--在线相册管理系统(1)
目錄
1、感言
2、成品
3、前期準(zhǔn)備
4、項(xiàng)目基礎(chǔ)配置
4.1、AlbumManage文件夾內(nèi)的文件配置
4.2、ablumapp文件夾內(nèi)的文件配置
1、感言
第一次寫博客,寫的不好請(qǐng)見諒。
每次學(xué)完技術(shù)后,都想寫幾篇博客來記錄下,但就是懶一直拖來拖去,現(xiàn)在無聊,就開始我的第一篇吧!
我這篇博客主要針對(duì)于學(xué)習(xí)Django初學(xué)者的朋友,如有榮幸有大佬看到我這篇博客,發(fā)現(xiàn)有什么問題還請(qǐng)指教一下,萬分感謝!!
我這個(gè)相冊(cè)管理系統(tǒng),內(nèi)含:添加,瀏覽,刪除,查看等基礎(chǔ)功能。話不多說,就先開始吧!
2、成品
3、前期準(zhǔn)備
需要安裝這些特定包!!
pip install django==2.2.* pip install mysqlclient pip install Pillow # 圖像處理標(biāo)準(zhǔn)庫(kù)4、項(xiàng)目基礎(chǔ)配置
一開始,在你需要保存的目錄下按住shift+右擊來打開這個(gè)窗口。(當(dāng)然也可以直接使用pycharm終端,此步可跳過。)
進(jìn)入后輸入代碼創(chuàng)建項(xiàng)目,然后進(jìn)入項(xiàng)目文件夾中,在創(chuàng)建應(yīng)用程序。
用pycharm打開項(xiàng)目,創(chuàng)建兩個(gè)文件夾,static用來保存靜態(tài)文件,而templates用來存放網(wǎng)頁(yè)模板。
4.1、AlbumManage文件夾內(nèi)的文件配置
?打開AlbumManage文件夾下面的settings.py文件,這里主要放這個(gè)項(xiàng)目的設(shè)置:
1.找到并設(shè)置成ALLOWED_HOSTS=['*'],代表統(tǒng)配,允許使用ip地址,所以機(jī)子都能連接。
2.添加應(yīng)用程序名
3.設(shè)置網(wǎng)頁(yè)模板路徑文件,BASE_DIR就直接定位到了該項(xiàng)目,逗號(hào)后面填入文件夾名即可。
4.數(shù)據(jù)庫(kù)的信息配置,內(nèi)容直接復(fù)制,修改部分信息就行。該項(xiàng)目使用的是MySQL數(shù)據(jù)庫(kù),記得創(chuàng)建“myalbum”數(shù)據(jù)庫(kù)。
DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql','NAME': 'myalbum','USER': 'root','PASSWORD': '123456','HOST': 'localhost','PORT': '3306',} }?5.靜態(tài)文件路徑配置,同理與第3點(diǎn)。(完成)
STATIC_URL = '/static/' STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static'), ]然后打開urls.py文件,這個(gè)文件主要用于配置你應(yīng)用程序的路由。當(dāng)你項(xiàng)目運(yùn)行起來時(shí),會(huì)根據(jù)path前部分的內(nèi)容指向后面部分的模塊文件,如果你還是有所疑惑,看到后面添加應(yīng)用程序?qū)?yīng)功能的路由時(shí)或許能明白。
添加include庫(kù),然后添加路由指向的模塊文件路徑(ablumapp下面的urls文件)
4.2、ablumapp文件夾內(nèi)的文件配置
AlbumManage文件夾中的文件配置完畢了,接下來就是之前創(chuàng)建的應(yīng)用軟件編寫了。
剛創(chuàng)建時(shí),是沒有這個(gè)文件的,需要自己創(chuàng)建,名字隨你,但要跟之前配置應(yīng)用程序路由的名字一致,否則系統(tǒng)找不到。
這個(gè)文件夾在該項(xiàng)目中只使用到urls.py(應(yīng)用程序?qū)?yīng)功能的路由配置)、views.py(功能實(shí)現(xiàn)的代碼)、modes.py(數(shù)據(jù)庫(kù)模型代碼)這三個(gè)文件。
1. 在urls.py文件添加下段代碼,保持完整型,不然可能會(huì)報(bào)錯(cuò),本人親測(cè)!
from django.urls import path from . import views urlpatterns = [#應(yīng)用程序中對(duì)應(yīng)功能的路由 ]2.在models.py中定義模型類,再次不做詳細(xì)解釋,可以去Django官網(wǎng)自行了解。
from datetime import datetimefrom django.db import models# Create your models here. class Album(models.Model): # 類名可不用與數(shù)據(jù)庫(kù)名字一致# 數(shù)據(jù)庫(kù)列的定義title = models.CharField(max_length=32)type = models.CharField(max_length=32)add_time = models.DateTimeField(default=datetime.now)def __str__(self):return self.name + ":" + self.phone科普下Model模型:
模型是你的數(shù)據(jù)的唯一的、權(quán)威的信息源。它包含你所儲(chǔ)存數(shù)據(jù)的必要字段和行為。
通常,每個(gè)模型對(duì)應(yīng)數(shù)據(jù)庫(kù)中唯一的一張表。
- 每個(gè)模型都是django.db.models.Model的一個(gè)Python 子類。
- 模型的每個(gè)屬性都表示為數(shù)據(jù)庫(kù)中的一個(gè)字段。
- Django 提供一套自動(dòng)生成的用于數(shù)據(jù)庫(kù)訪問的API;
- 這極大的減輕了開發(fā)人員的工作量,不需要面對(duì)因數(shù)據(jù)庫(kù)變更而導(dǎo)致的無效勞
為什么使用model模型?
Model是MVC框架中重要的一部分,主要負(fù)責(zé)程序中用于處理數(shù)據(jù)邏輯的部分。通常模型對(duì)象負(fù)責(zé)在數(shù)據(jù)庫(kù)中存取數(shù)據(jù)
它實(shí)現(xiàn)了數(shù)據(jù)模型與數(shù)據(jù)庫(kù)的解耦,即數(shù)據(jù)模型的設(shè)計(jì)不需要依賴于特定的數(shù)據(jù)庫(kù),通過簡(jiǎn)單的配置就可以輕松更換數(shù)據(jù)庫(kù)
?生成遷移文件:
python manage.py makemigrations執(zhí)行遷移:
python manage.py migrate完成后數(shù)據(jù)庫(kù)就會(huì)有對(duì)應(yīng)的數(shù)據(jù)表了。
這是編寫功能前的所有準(zhǔn)備工作,之后的內(nèi)容我會(huì)再出一章,謝謝大家!
第一次寫博客,如果哪里沒看懂或者有問題,可以私信我或者在評(píng)論區(qū)中留言。
?好啦,寫完了!
第二篇文章地址:
Django--在線相冊(cè)管理系統(tǒng)(2)_橙子哈哈哈~的博客-CSDN博客
總結(jié)
以上是生活随笔為你收集整理的Django--在线相册管理系统(1)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Zbrush Topogun 备忘
- 下一篇: python安装dlib