日记-2017-7-24-cp-css-django/media
2017.7.24
- ubuntu 复制文件夹 cp -a /from_dir /dest
- css 图片完全填充背景
- 独立于 django 环境运行
- django 静态文件配置
ubuntu 复制文件夹
在 ubuntu 下复制目标文件夹到制定地址
使用 -a 参数即可
$ cp -a /from_dir /dest
css 图片完全填充背景
.body{
background: url(images/bg.jpg) no-repeat center center fixed;
background-size: cover;
}
在 django 项目中,独立于 django 运行脚本
使用场景:
在 django 结合 爬虫 的项目中,我们希望使用 django 对数据进行展示,爬虫部分获取数据,他们之间以数据库连接,在 爬虫 部分,爬下数据后使用 django models 部分对数据进行保存,所以就产生了需求,在不启动 django server 的情况下使用 models。
问题解决:
引入 django 运行环境即可
import os, django
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "yourproject.settings")
django.setup()
from .models import YourModel
# your code
django 配置静态文件
在 django 项目中,我们常常会遇到加载静态图片的情况,比如用户上传的图片等,如何配置 media 设置曾经困惑了我很久,在做了很多次项目之后,终于将配置过程弄懂了。
按一下步骤逐一设置
settings.py
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'
(project.)urls.py
from django.conf.urls import url, include
from django.contrib import admin
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
url(r'^admin/', admin.site.urls),
# ...
# ...
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
(app.) models.py
from django.db import models
class Movie(models.Model):
# 这里的 upload_to 参数设置的路径基于 media 文件夹下
# 以这里为例,cover_img 上传的图片都会存到 /media/cover/ 这个路径下
cover_img = models.ImageField('封面图片', upload_to='cover/')
设置就是以上了,在 template 下使用
(app.)views.py
from django.shortcuts import render
from .models import Movie
def index(request):
movie_img = Movie.objects.get(pk=1)
content = {
'movie_img': movie_img
}
return render(request, '##/index.html', content)
(template.) index.html
<img src="{{ movie_img.cover_img.url }}" alt="">
以上就包含了基本的使用方法了。