Django配置静态资源

来源:互联网 发布:golang for 编辑:程序博客网 时间:2024/05/18 02:04

Django

Django是一个开放源代码的Web应用框架,由Python写成。
Django采用了MVC的软件设计模式,即模型M,视图V和控制器C。
今天我们弄setting.py

  Django配置文件settings.py里的DEBUG变量就是主要的区别, DEBUG=True,说明是在开发环境(调试模式)下,DEBUG=False反之是在正式部署环境下使用。两者有很大的区别,比如缓存,出错信息的方式等等,还有今天说的静态文件的处理方式上。开发环境下静态文件都是通过Django自带的web服务器来处理的(这样会更方面)。如果把DEBUG设置成False,那么Django自带的web服务器自然不处理静态文件了

修改settings.py的static files小节:

import os... ...# Additional locations of static filesHERE = os.path.dirname(__file__)STATICFILES_DIRS = (    # Put strings here, like "/home/html/static" or "C:/www/django/static".    # Always use forward slashes, even on Windows.    # Don't forget to use absolute paths, not relative paths.    HERE+STATIC_URL,)

然后我们来写下面的项目、
MEDIA_ROOT = os.path.join(BASE_DIR,”yanh”) 资源的前缀
  MEDIA_URL = ‘/yanh/’资源文件的绝对文件路径
  STATICFILES_DIRS = (
   os.path.join(BASE_DIR,”static”),
  )
  STATIC_URL = ‘/static/’
urls.py

  from django.conf import settings

  from django.conf.urls.static import static

  首先要把你的配置文件导进来,然后再往django.conf.urls.static 导进来 static 如上所示

  urlpatterns = [      url(r'^admin/', admin.site.urls),      url(r'^student/', include("student.urls")),  ]+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)  然后:static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)段代码是把setting.py里设置STATIC_URL作为访问url里资源的前缀,STATIC_ROOT必须是资源文件的绝对文件路径。show.html    <img src="{{ student.imgPath.url }}这个是在页面中上传图片model.py  from django.db import models导包  # Create your models here.  class Grade(models.Model):      name = models.CharField(max_length=50,unique=True)      def __str__(self):          return self.name  class Student(models.Model):      name = models.CharField(max_length=50,unique=True,null=False,verbose_name="名")      age = models.IntegerField(default=0)      sex = models.CharField(max_length=2,null=True)      likes =models.CharField(max_length=100,null=True)      grade = models.ForeignKey(Grade,null=True,on_delete=True)      imgPath = models.FileField(verbose_name="头像",upload_to="student/%y")
原创粉丝点击