Django框架配置

今天咱們學習Django框架配置,首先先來看一下如何在Django中建立APP!css

1.Django中建立APP

首先咱們打開PyCharm,找到以前你建立的Django項目,個人項目是First_Projecthtml

  • (1)先選中你要運行的項目-->而後點擊Tools-->Run manage.py Task-->進入manage.py控制檯(或者直接快捷鍵Ctrl+Alt+R進入); manage.py控制檯.png前端

  • (2)而後在manage.py控制檯中輸入startapp 你想要的名稱建立app,如我須要建立一個名爲users的app,那我須要在控制檯中輸入startapp users建立app.pngpython

  • (3)你能夠建立一個或多個app,而爲了方便管理多個app文件,咱們能夠建立一個apps目錄,將全部建立的app都移入其中; apps.png數據庫

  • (4)若是咱們想要直接使用apps裏面的app文件導入模塊,咱們能夠將apps目錄設置爲Sources Root,操做爲:選中apps文件夾-->右擊-->Mark Directory as-->Sources Root,那麼pycharm將會知道,文件的根路徑爲apps;django

  • (5)設置完後,咱們能夠直接導入apps目錄下任意app中的模塊了。可是僅限於在PyCharm中運行,若是想在命令行中運行則會報錯(由於Python解釋器認爲:Python模塊的搜索路徑是從當前運行的Python文件所在目錄開始尋找,而後在是項目的根目錄, 一級一級找,最後到site-packages目錄)。 那怎麼才能在命令行中運行不報錯,且將apps在命令行模式下也是Sources Root的話,咱們須要在在項目的settings.py文件中導入sys模塊,而且加入一行代碼:session

# 目的就是在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;

2.Django中建立static靜態文件目錄

配置static靜態文件查找路徑: 1.首先打開settings文件,找到STATIC_URL = '/static/',這表示指定static靜態文件路徑app

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' %}"/>

3.Django中建立media媒體文件目錄

配置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',
]

最後在點擊Tool--> Run manage.py Task,在控制檯中依次執行makemigrations和migrate生成數據庫表

學習參考:https://www.9xkd.com/user/plan-view.html?id=2345964104

相關文章
相關標籤/搜索