Django сохраняет динамически созданный файл в s3 - PullRequest
1 голос
/ 15 марта 2011

Я хочу динамически создать файл css для моего сайта, который обновляется при загрузке новых элементов навигации. Я знаю, что мне нужно переопределить сохранение моей модели навигации, и после того, как файл был загружен на мой s3, я могу затем вызвать функцию для выполнения какого-либо действия, но я не знаю, как я могу создать файл динамически, а затем загрузить это на тот же сервер s3, но в другом месте.

from django.db import models
from django.forms import CheckboxSelectMultiple

import tempfile

from django.conf import settings

from django.core.files.base import ContentFile
from django.core.files.storage import default_storage as s3_storage
from django.core.cache import cache

from datetime import datetime

import Image, os
import PIL.Image as PIL
import re, os, sys, urlparse

def createDynamicCSS():
    #create then save a css file here
    #probably best to 'navigation/nav.css'

    #loop through all entries and create class for all of them
    navs = PrimaryNav.all()

    cssfile = ""
    for n in navs:
        string = "." + n.slug + " { ... }"
        cssfile += string

    #save cssfile to s3



class PrimaryNav(models.Model):
    title = models.CharField(max_length=200)
    slug = models.SlugField(max_length=200)

    active = models.BooleanField()

   #saves to s3 (s3 address + /icon/ )
   icon = models.ImageField(upload_to='icons')

    def save(self):
        super(PrimaryNav, self).save() # Call the "real" save() method
        createDynamicCSS()

...

Я не уверен, с чего начать. Я собирался попробовать и разобрать функции CSV, которые я видел в Интернете, но это оказалось слишком сложно. Помогите пожалуйста

...