今天做博客的时候对于静态文件以及路径问题有过些疑惑。解决后做一下心得和记录。
在应用设置中,有些静态的文件不想放在项目的 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>.*)$
以上是个人一些试验的理解和应用,如有不妥的地方,欢迎各位补充。