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 files
HERE = 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")