[Django 2.0] 自定義靜態資料夾與路徑
阿新 • • 發佈:2019-01-26
今天做部落格的時候對於靜態檔案以及路徑問題有過些疑惑。解決後做一下心得和記錄。
在應用設定中,有些靜態的檔案不想放在專案的 static 資料夾中。
1.建立文章物件
class Arctics(models.Model): title = models.CharField(max_length=200) arctic = models.TextField(max_length=100000) # 設定預設圖路徑 和 上傳檔案的路徑 image = models.ImageField(default="Blog/static/default.png", upload_to="Blog/static/image") #設定專案在後臺的顯示 def __str__(self): return self.title
2.自定義靜態檔案路徑
# 在 settings.py 中設定
BLOG_URL = '/Blog/'
BLOG_ROOT = os.path.join(BASE_DIR, 'Blog')
3.分離專案與應用的urls
#專案層的urls.py: urlpatterns = [ path('', views.Index), path('admin/', admin.site.urls), path('blog/', include('Blog.urls')), ] #應用層的urls.py: urlpatterns = [ path('',views.BlogIndex), ]
4.前往應用層的urls.py檔案下, 新增靜態資料夾的urls 和根目錄
# 在 urls.py 中設定 靜態資料夾的路徑url和的根目錄
from django.conf.urls.static import static
from django.conf import settings
urlpatterns += static(settings.BLOG_URL,document_root=settings.BLOG_ROOT)
5.執行Django專案,輸入一個不完整的應用路徑,可以看到新的檔案路徑:
blog/ ^Blog\/(?P<path>.*)$
以上是個人一些試驗的理解和應用,如有不妥的地方,歡迎各位補充。