這篇文章給大家分享的是有關(guān)如何在Django中創(chuàng)建APP的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。
創(chuàng)新互聯(lián)執(zhí)著的堅(jiān)持網(wǎng)站建設(shè),微信小程序;我們不會轉(zhuǎn)行,已經(jīng)持續(xù)穩(wěn)定運(yùn)營10多年。專業(yè)的技術(shù),豐富的成功經(jīng)驗(yàn)和創(chuàng)作思維,提供一站式互聯(lián)網(wǎng)解決方案,以客戶的口碑塑造品牌,攜手廣大客戶,共同發(fā)展進(jìn)步。
首先我們打開PyCharm,找到之前你創(chuàng)建的Django項(xiàng)目,我的項(xiàng)目是First_Project
:
(1)先選中你要運(yùn)行的項(xiàng)目—>然后點(diǎn)擊Tools—>Run manage.py Task—>進(jìn)入manage.py控制臺(或者直接快捷鍵Ctrl+Alt+R進(jìn)入);
(2)然后在manage.py控制臺中輸入startapp 你想要的名稱
創(chuàng)建app,如我需要?jiǎng)?chuàng)建一個(gè)名為users的app,那我需要在控制臺中輸入startapp users
;
(3)你可以創(chuàng)建一個(gè)或多個(gè)app,而為了方便管理多個(gè)app文件,我們可以創(chuàng)建一個(gè)apps目錄,將所有創(chuàng)建的app都移入其中;
(4)如果我們想要直接使用apps里面的app文件導(dǎo)入模塊,我們可以將apps目錄設(shè)置為Sources Root,操作為:選中apps文件夾—>右擊—>Mark Directory as—>Sources Root,那么pycharm將會知道,文件的根路徑為apps;
(5)設(shè)置完后,我們可以直接導(dǎo)入apps目錄下任意app中的模塊了。但是僅限于在PyCharm中運(yùn)行,如果想在命令行中運(yùn)行則會報(bào)錯(cuò)(因?yàn)镻ython解釋器認(rèn)為:Python模塊的搜索路徑是從當(dāng)前運(yùn)行的Python文件所在目錄開始尋找,然后在是項(xiàng)目的根目錄, 一級一級找,最后到site-packages目錄)。
那怎么才能在命令行中運(yùn)行不報(bào)錯(cuò),且將apps在命令行模式下也是Sources Root的話,我們需要在在項(xiàng)目的settings.py文件中導(dǎo)入sys模塊,并且加入一行代碼:
# 目的就是在django的sys.path模塊搜索路徑中的第一個(gè)位置加上apps的路徑 sys.path.insert(0, os.path.join(BASE_DIR, 'apps'));
(6)最后,先在我們需要執(zhí)行的文件中導(dǎo)入django和os兩個(gè)模塊,再加入兩句代碼,然后就可以導(dǎo)入你要使用的app里面的模塊了;
os.environ.setdefault"DJANGO_SETTINGS_MODULE", "First_Project.settings") django.setup()
(7)此時(shí)就可以在命令行中執(zhí)行了,例如python test.py;
配置static靜態(tài)文件查找路徑:
1.首先打開settings文件,找到STATIC_URL = '/static/'
,這表示指定static靜態(tài)文件路徑
2.但是在template中是無法使用這個(gè)路徑的,因?yàn)闆]有把這個(gè)路徑加入到項(xiàng)目的路徑中,因此需要把static路徑加入到項(xiàng)目的路徑中我們需要添加一句代碼:
# 表示把static路徑加入到項(xiàng)目的路徑中 STATICFILES_DIRS = (os.path.join(BASE_DIR, "static"), )
3.這樣在template中引用這個(gè)靜態(tài)文件就可以只要指定相對路徑就好了
<link rel="stylesheet" type="text/css" href="{% static 'css/course/banner.css' %}"/>
配置media媒體文件查找路徑:
1.在settings文件中加入MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
語句,表示把用戶上傳的所有的東西,如圖片等,保存到這個(gè)/media/目錄下
2.如果我們想要圖片上傳到/media/banner/%Y/%m/目錄下(Y表示年,m表示月),我們可以這樣寫
image = models.ImageField(max_length=100, upload_to='banner/%Y/%m', verbose_name='用戶頭像圖片')
3.那么在前端的html頁面中,我們就可以使用用戶上傳的圖片或其他的可以在html頁面顯示的東西, 因?yàn)閿?shù)據(jù)庫中保存了圖片上傳的路徑,{{ MEDIA_URL }}
相當(dāng)于
/media/
,{{ request.user.image }}
相當(dāng)于
user/1.png
,那么 {{ MEDIA_URL }}{{ request.user.image }} 相當(dāng)于 /media/user/1.png
<img width="20" height="20" src="{{ MEDIA_URL }}{{ request.user.image }}"/>
4.因此必須在urls.py文件中寫個(gè)路由處理邏輯
from django.views.static import serve url(r'^media/(?P<path>.*)', serve, {'document_root': MEDIA_ROOT})
我們要注意每次創(chuàng)建一個(gè)app都需要在settings中將它注冊進(jìn)來,如果不注冊進(jìn)來,那么執(zhí)行migration的時(shí)候就不會生成表,將app的名稱加入到INSTALLED_APPS中;
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'users', 'courses', 'teachers', 'schools', ]
感謝各位的閱讀!關(guān)于“如何在Django中創(chuàng)建APP”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
標(biāo)題名稱:如何在Django中創(chuàng)建APP
URL網(wǎng)址:http://jinyejixie.com/article22/gpsijc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)、手機(jī)網(wǎng)站建設(shè)、電子商務(wù)、響應(yīng)式網(wǎng)站、全網(wǎng)營銷推廣、云服務(wù)器
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)