您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關如何在Django中創建APP的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
首先我們打開PyCharm,找到之前你創建的Django項目,我的項目是First_Project
:
(1)先選中你要運行的項目—>然后點擊Tools—>Run manage.py Task—>進入manage.py控制臺(或者直接快捷鍵Ctrl+Alt+R進入);
(2)然后在manage.py控制臺中輸入startapp 你想要的名稱
創建app,如我需要創建一個名為users的app,那我需要在控制臺中輸入startapp users
;
(3)你可以創建一個或多個app,而為了方便管理多個app文件,我們可以創建一個apps目錄,將所有創建的app都移入其中;
(4)如果我們想要直接使用apps里面的app文件導入模塊,我們可以將apps目錄設置為Sources Root,操作為:選中apps文件夾—>右擊—>Mark Directory as—>Sources Root,那么pycharm將會知道,文件的根路徑為apps;
(5)設置完后,我們可以直接導入apps目錄下任意app中的模塊了。但是僅限于在PyCharm中運行,如果想在命令行中運行則會報錯(因為Python解釋器認為:Python模塊的搜索路徑是從當前運行的Python文件所在目錄開始尋找,然后在是項目的根目錄, 一級一級找,最后到site-packages目錄)。
那怎么才能在命令行中運行不報錯,且將apps在命令行模式下也是Sources Root的話,我們需要在在項目的settings.py文件中導入sys模塊,并且加入一行代碼:
# 目的就是在django的sys.path模塊搜索路徑中的第一個位置加上apps的路徑 sys.path.insert(0, os.path.join(BASE_DIR, 'apps'));
(6)最后,先在我們需要執行的文件中導入django和os兩個模塊,再加入兩句代碼,然后就可以導入你要使用的app里面的模塊了;
os.environ.setdefault"DJANGO_SETTINGS_MODULE", "First_Project.settings") django.setup()
(7)此時就可以在命令行中執行了,例如python test.py;
配置static靜態文件查找路徑:
1.首先打開settings文件,找到STATIC_URL = '/static/'
,這表示指定static靜態文件路徑
2.但是在template中是無法使用這個路徑的,因為沒有把這個路徑加入到項目的路徑中,因此需要把static路徑加入到項目的路徑中我們需要添加一句代碼:
# 表示把static路徑加入到項目的路徑中 STATICFILES_DIRS = (os.path.join(BASE_DIR, "static"), )
3.這樣在template中引用這個靜態文件就可以只要指定相對路徑就好了
<link rel="stylesheet" type="text/css" href="{% static 'css/course/banner.css' %}"/>
配置media媒體文件查找路徑:
1.在settings文件中加入MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
語句,表示把用戶上傳的所有的東西,如圖片等,保存到這個/media/目錄下
2.如果我們想要圖片上傳到/media/banner/%Y/%m/目錄下(Y表示年,m表示月),我們可以這樣寫
image = models.ImageField(max_length=100, upload_to='banner/%Y/%m', verbose_name='用戶頭像圖片')
3.那么在前端的html頁面中,我們就可以使用用戶上傳的圖片或其他的可以在html頁面顯示的東西, 因為數據庫中保存了圖片上傳的路徑,{{ MEDIA_URL }}
相當于
/media/
,{{ request.user.image }}
相當于
user/1.png
,那么 {{ MEDIA_URL }}{{ request.user.image }} 相當于 /media/user/1.png
<img width="20" height="20" src="{{ MEDIA_URL }}{{ request.user.image }}"/>
4.因此必須在urls.py文件中寫個路由處理邏輯
from django.views.static import serve url(r'^media/(?P<path>.*)', serve, {'document_root': MEDIA_ROOT})
我們要注意每次創建一個app都需要在settings中將它注冊進來,如果不注冊進來,那么執行migration的時候就不會生成表,將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', ]
感謝各位的閱讀!關于“如何在Django中創建APP”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。