[Django 2.0] 自定义静态文件夹与路径

今天做博客的时候对于静态文件以及路径问题有过些疑惑。解决后做一下心得和记录。

在应用设置中,有些静态的文件不想放在项目的 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>.*)$ 


以上是个人一些试验的理解和应用,如有不妥的地方,欢迎各位补充。

猜你喜欢

转载自blog.csdn.net/M_C_ing/article/details/80724763