如何在Django中創(chuàng)建APP-創(chuàng)新互聯(lián)

這篇文章給大家分享的是有關(guān)如何在Django中創(chuàng)建APP的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。

創(chuàng)新互聯(lián)憑借在網(wǎng)站建設(shè)、網(wǎng)站推廣領(lǐng)域領(lǐng)先的技術(shù)能力和多年的行業(yè)經(jīng)驗(yàn),為客戶提供超值的營(yíng)銷型網(wǎng)站建設(shè)服務(wù),我們始終認(rèn)為:好的營(yíng)銷型網(wǎng)站就是好的業(yè)務(wù)員。我們已成功為企業(yè)單位、個(gè)人等客戶提供了成都做網(wǎng)站、網(wǎng)站制作服務(wù),以良好的商業(yè)信譽(yù),完善的服務(wù)及深厚的技術(shù)力量處于同行領(lǐng)先地位。

1.Django中創(chuàng)建APP

首先我們打開(kāi)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控制臺(tái)(或者直接快捷鍵Ctrl+Alt+R進(jìn)入);

如何在Django中創(chuàng)建APP

  • (2)然后在manage.py控制臺(tái)中輸入startapp 你想要的名稱創(chuàng)建app,如我需要?jiǎng)?chuàng)建一個(gè)名為users的app,那我需要在控制臺(tái)中輸入startapp users;

如何在Django中創(chuàng)建APP

  • (3)你可以創(chuàng)建一個(gè)或多個(gè)app,而為了方便管理多個(gè)app文件,我們可以創(chuàng)建一個(gè)apps目錄,將所有創(chuàng)建的app都移入其中;

如何在Django中創(chuàng)建APP

  • (4)如果我們想要直接使用apps里面的app文件導(dǎo)入模塊,我們可以將apps目錄設(shè)置為Sources Root,操作為:選中apps文件夾—>右擊—>Mark Directory as—>Sources Root,那么pycharm將會(huì)知道,文件的根路徑為apps;

  • (5)設(shè)置完后,我們可以直接導(dǎo)入apps目錄下任意app中的模塊了。但是僅限于在PyCharm中運(yùn)行,如果想在命令行中運(yùn)行則會(huì)報(bào)錯(cuò)(因?yàn)镻ython解釋器認(rèn)為:Python模塊的搜索路徑是從當(dāng)前運(yùn)行的Python文件所在目錄開(kāi)始尋找,然后在是項(xiàng)目的根目錄, 一級(jí)一級(jí)找,最后到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;

2.Django中創(chuàng)建static靜態(tài)文件目錄

配置static靜態(tài)文件查找路徑:

1.首先打開(kāi)settings文件,找到STATIC_URL = '/static/',這表示指定static靜態(tài)文件路徑

2.但是在template中是無(wú)法使用這個(gè)路徑的,因?yàn)闆](méi)有把這個(gè)路徑加入到項(xiàng)目的路徑中,因此需要把static路徑加入到項(xiàng)目的路徑中我們需要添加一句代碼:

# 表示把static路徑加入到項(xiàng)目的路徑中
STATICFILES_DIRS = (os.path.join(BASE_DIR, "static"), )

3.這樣在template中引用這個(gè)靜態(tài)文件就可以只要指定相對(duì)路徑就好了

<link rel="stylesheet" type="text/css" href="{% static 'css/course/banner.css' %}"/>

3.Django中創(chuàng)建media媒體文件目錄

配置media媒體文件查找路徑:

1.在settings文件中加入MEDIA_ROOT = os.path.join(BASE_DIR, 'media')語(yǔ)句,表示把用戶上傳的所有的東西,如圖片等,保存到這個(gè)/media/目錄下

2.如果我們想要圖片上傳到/media/banner/%Y/%m/目錄下(Y表示年,m表示月),我們可以這樣寫(xiě)

image = models.ImageField(max_length=100, upload_to='banner/%Y/%m', verbose_name='用戶頭像圖片')

3.那么在前端的html頁(yè)面中,我們就可以使用用戶上傳的圖片或其他的可以在html頁(yè)面顯示的東西, 因?yàn)閿?shù)據(jù)庫(kù)中保存了圖片上傳的路徑,{{ 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文件中寫(xiě)個(gè)路由處理邏輯

from django.views.static import serve
url(r'^media/(?P<path>.*)', serve, {'document_root': MEDIA_ROOT})

我們要注意每次創(chuàng)建一個(gè)app都需要在settings中將它注冊(cè)進(jìn)來(lái),如果不注冊(cè)進(jìn)來(lái),那么執(zhí)行migration的時(shí)候就不會(huì)生成表,將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)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

本文題目:如何在Django中創(chuàng)建APP-創(chuàng)新互聯(lián)
當(dāng)前網(wǎng)址:http://bm7419.com/article34/dpoose.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、Google手機(jī)網(wǎng)站建設(shè)、軟件開(kāi)發(fā)網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)