日记-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="">


以上就包含了基本的使用方法了。

posted @ 2017-07-24 22:54  zx576  阅读(143)  评论(0编辑  收藏  举报