import base64
...
my_image = '<img src="data:image/jpg;base64,{im}" />'.format(im=base64.b64encode(instance.image.read()))
...
mail_html = """
<html>
<head></head>
<body>
<h4>Заголовок письма</h4>
{img}
....
</body>
</html>
""".format(img=my_image)
...
{# тут пробегаемся по вашим приложениям и расставляем ссылки на админки #}
{% block content %}
<div id="content-main">
{% if app_list %}
{% for app in app_list %}
.....
{% endfor %}
{% else %}
<p>{% trans "You don't have permission to edit anything." %}</p>
{% endif %}
</div>
{% endblock %}
....
{% for obj in objects_list %}
{% for img in obj.modela_set.all %}
{{ img }}
{% endfor %}
{% endfor %}
....
class Media:
js = ('js/my.js', )
css = {'all': ('css/settings_styles.css', )}
import embedded_media as emb
@admin.register(MyModel)
class MyModelAdmin(ReadOnlyAdmin):
...
@property
def media(self):
media = super(MyModelAdmin, self).media
js = (
'/admin/jsi18n/',
'/static/admin/js/calendar.js',
'/static/admin/js/admin/DateTimeShortcuts.js' )
if self.read_only:
css = { 'all': (emb.CSS('.save-box { display: none; }'),) }
media.add_css(css)
media.add_js(js)
return media
import os
from django.conf import settings
from django.db import models
from django.core.files.storage import FileSystemStorage
my_storage = FileSystemStorage(location=os.path.join(settings.BASE_DIR, 'image'))
class My_model(models.Model):
file1 = models.FileField() # дефолтный MEDIA_ROOT
image = models.FileField(storage=my_storage) # пользовательский путь хранения
import io
import chardet
import os
import codecs
filename = 'test_file.txt'
bytes = min(32, os.path.getsize(filename))
raw = open(filename, 'rb').read(bytes)
if raw.startswith(codecs.BOM_UTF8):
encoding = 'utf-8-sig'
else:
result = chardet.detect(raw)
encoding = result['encoding']
infile = io.open(filename, 'r', encoding=encoding)
data = infile.read()
infile.close()
print(data)
cat <ваш файл>| perl -e '$i=0;while(<>){my @count=/(\")/g; $i++; $im=scalar @count; if ($im%2!=0){print $i." ".$_."\n";}}'
51,"Неизвестно 1"
52,"Неизвестно 2"
53,"Неизвестно 3"
54,"Неизвестно 4
55,"Неизвестно 5"
56,"Неизвестно 6"
57,"Неизвестно 7
125,""
4 54,"Неизвестно 4
7 57,"Неизвестно 7