小编she*_*sky的帖子

Django中ImageField的图像不会加载到模板中

我正在我的本地机器上使用Django(1.5.1)构建一个库.在我的相册模型中,我有一个ImageField.可以显示相册的所有图像.它运作良好,但最终图像不会显示.您可以看到图像的边框,但图像无法加载.

截图

在此输入图像描述

models.py

class Category(models.Model):
 ###  
class Album(models.Model):   
    category = models.ForeignKey(Category, related_name='albums')
 ###
class Image(models.Model):
    album = models.ForeignKey(Album)
    image = models.ImageField(upload_to = 'images/albums/')
Run Code Online (Sandbox Code Playgroud)

views.py

def detail(request, album_id):
    album = get_object_or_404(Album, pk=album_id)
    return render(request, 'gallery/detail.html', {'album': album})
Run Code Online (Sandbox Code Playgroud)

detail.html

<h1>{{ album.title }}</h1>
{% for image in album.image_set.all %}
  <a>  <img src="{{ image.image.url }}" height="420"></a>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

如果这是我的专辑地址: http://localhost:8000/gallery/1/

然后图像URL是:http://localhost:8000/media/images/albums/photo_4.JPG (I get 404 when enter it in browser)

这个媒体根和网址:

MEDIA_ROOT = '/media/'    
MEDIA_URL = '/localhost:8000/media/'  
Run Code Online (Sandbox Code Playgroud)

我的媒体root有777权限.

我现在应该怎么做?问题出在哪儿?

python django image django-templates django-models

18
推荐指数
2
解决办法
4万
查看次数

如何修复ffmpeg和mencoder推波斯(RTL)字幕颠倒的问题?

我正在尝试构建一个应用程序以在视频上刻录字幕。要执行的特定任务是刻录波斯语(从右到左语言)字幕。但是我有一个问题。

当我同时听到几个单词而它们之间没有任何“回车”时,则将ffmpegmencoder向上推。例如,如果我有三行,则第三行出现在第一行,然后是第二行,然后第一行显示在屏幕上。

我附上了两个屏幕截图,以使其清晰可见。正如您在第二篇中可能看到的那样,波斯语字幕有9行,该行应从顶部的1到底部的9对齐,但是第9行出现在顶部的第一行。

在此处输入图片说明

在此处输入图片说明

我目前正在使用此代码在mp4视频上刻录字幕:

mencoder video.mp4 -sub subtitle.srt -utf8  -o output.mp4 -oac pcm -ovc lavc
Run Code Online (Sandbox Code Playgroud)

ffmpeg mencoder subtitle right-to-left farsi

6
推荐指数
0
解决办法
620
查看次数

Django教程第1部分"投票"对象不会改变

我是Django的新手,其教程是第1部分:编写你的第一个应用程序.当我想用这个命令在python shell中看到我的Poll对象时Poll.objects.all(),我看到[<Poll: Poll object>],但是我已经改变了我的models.py并添加了

class Poll(models.Model):   
    def __unicode__(self):  
        return self.question  

class Choice(models.Model):    
    def __unicode__(self):       
        return self.choice
Run Code Online (Sandbox Code Playgroud)

但我应该看到这个:

[<Poll: What's up?>]
Run Code Online (Sandbox Code Playgroud)

有什么问题?

python django django-models

2
推荐指数
1
解决办法
3436
查看次数

如何在Django通用视图中添加额外的上下文和查询集字段?

我正在构建Django应用程序,提交链接和投票功能.

我想显示所有链接,由用户在用户详细信息页面中投票.我可以使用以下方法在python shell中检索它们:

Link.objects.filter(votes__voter=user)
Run Code Online (Sandbox Code Playgroud)

但我不知道如何将此作为额外的上下文字段添加到视图中.以下是代码:

models.py

class Link(models.Model):
    title       = models.CharField(max_length=200)
    submitter   = models.ForeignKey(User)
    submit_date = models.DateTimeField(auto_now_add=True)
    up_votes    = models.IntegerField(default=0, blank=True, db_index=True)
    ...

class UserProfile(models.Model):
    user        = models.OneToOneField(User, unique=True)
    ...

class Vote(models.Model):
    voter = models.ForeignKey(User)
    link = models.ForeignKey(Link, related_name='votes')
    ...
Run Code Online (Sandbox Code Playgroud)

views.py

class UserProfileDetailView(DetailView):
    model       = get_user_model()
    slug_field  = "username"
    template_name = "user_detail.html"


    def get_object(self, queryset=None):
        user    = super(UserProfileDetailView, self).get_object(queryset)s
        UserProfile.objects.get_or_create(user=user)
        return user
Run Code Online (Sandbox Code Playgroud)

user_detail.html

...
{% if object == request.user and request.user.is_authenticated %}
    <p><a href='{% url "edit_profile" %}'>Edit My Profile</a></p>
{% …
Run Code Online (Sandbox Code Playgroud)

django django-queryset django-views django-generic-views django-context

2
推荐指数
1
解决办法
6719
查看次数

如何在 Python 中检测非 ASCII 字符?

我正在使用 Python 2.7 解析多个 XML 文件,有一些字符串,例如:string ="[2,3,13,37–41,43,44,46]". 我将它们拆分以获得所有元素的列表,然后我必须检测带有“-”的元素,例如“37-41”,但事实证明这不是常规破折号,它是一个非 ASCII 字符:

elements = [u'2', u'3', u'13', u'37\u201341', u'43', u'44', u'46']
Run Code Online (Sandbox Code Playgroud)

所以我需要类似的东西

for e in elements:
  if "–" in e:
      # do something about it
Run Code Online (Sandbox Code Playgroud)

如果在这个 if 表达式中使用那个非 ASCII 字符,那么我会得到一个错误:"SyntaxError: Non-ASCII character '\xe2' in file...".

我试图if用这个 re 方法替换表达式:

re.search('\xe2', e)
Run Code Online (Sandbox Code Playgroud)

但现在不是这样了。所以我正在寻找一种方法来将非 ASCII 字符转换为常规 ASCII“-”或直接在搜索表达式中使用 ASCII 数字。

python string ascii python-2.7

2
推荐指数
2
解决办法
1万
查看次数

理解Django中的原子事务

我正在尝试在django 1.8.4中更新两个IntegerField,所以我决定使用原子事务,但我有一些疑问:

1-在这种情况下使用原子事务是个好主意吗?使用它的真正好处是什么?它的效率有多高?

2-如何检查这两个部件是否相同?

一个.

@transaction.atomic
class LinkManager(models.Manager):
    def vote_up(self, pk, increment=True):
        if increment:
            <update field 1, incrementing by 1>
        else:
            <update field 1, decrementing by 1>
Run Code Online (Sandbox Code Playgroud)

B.

 class LinkManager(models.Manager):
        def vote_up(self, pk, increment=True):
            if increment:
                with transaction.atomic():
                    <update field 1, incrementing by 1>
            else:
                with transaction.atomic():
                    <update field 1, decrementing by 1>
Run Code Online (Sandbox Code Playgroud)

python django transactions atomic

1
推荐指数
1
解决办法
773
查看次数

如何仅显示 django 中的最后一个条目?

我正在使用 Django 1.5.1。我的第一页顶部有一个 ImageModel。
如何仅显示此模型的最后一个条目?

#model.py
    class Vitrin(models.Model):
        title = models.CharField(max_length=200)
        image = models.ImageField(upload_to = 'images/vitrin/')
        date_created = models.DateTimeField(auto_now=True)  

#views.py
def index(request):
    categories = Category.objects.all()[:5]
    pages = Page.objects.all()[:5]
    vitrins = Vitrin.objects.all().reverse()[0]
    return render(request, 'gallery/index.html', {'categories': categories, 'pages':pages, 'vitrins': vitrins})   

#index.html
    <div class='vitrin'>
            {% for vitrin in vitrins %}
                <img src="{{ vitrin.image.url|last }}" height="550">
            {% endfor %}
    </div>
Run Code Online (Sandbox Code Playgroud)

但我收到错误:“Vitrin”对象不可迭代

Request Method: GET
Request URL:    http://localhost:8000/
Django Version: 1.5.1
Exception Type: TypeError
Exception Value:    
'Vitrin' object is not iterable
Exception Location: …
Run Code Online (Sandbox Code Playgroud)

django django-templates django-models django-views

0
推荐指数
1
解决办法
1209
查看次数