python - 如何为 Django Pastebin 应用程序中的所有粘贴创建链接列表?

标签 python django pastebin

我已经使用 Django 设置了一个 Pastebin 应用程序,但我希望能够创建指向主页模板上每个单独粘贴的链接列表。我一直在尝试许多不同的事情,但正在努力找出答案。

这是我迄今为止在模板上的内容,该应用程序名为 oxybeles:

<ul>
{% for ????? in ????? %}               
<a href="{% url oxybeles_detail item.uuid %}">A Link</a>
{% endfor %}
</ul>

这是相关的后端代码:

模型.py

class PastedItem(models.Model):

    uuid = models.CharField(_('identifier'), max_length=36, unique=True)
    artist = models.CharField(_('artist'), max_length=50)
    album = models.CharField(_('album'), max_length=50)
    in_response_to = models.ForeignKey('self', related_name='responses',
        blank=True, null=True, verbose_name=_('in response to'))
    user = models.ForeignKey(User, related_name="pasted_items",
        verbose_name=_('user'))
    pasted_at = models.DateTimeField(_('pasted at'), auto_now_add=True)

    def __unicode__(self):
        return self.uuid

    def save(self):
        if not self.uuid:
            self.uuid = str(uuid4())  # random so it can't be easily guessed
        super(PastedItem, self).save()

    def get_absolute_url(self):
        return ('oxybeles_detail', (), { 'slug': self.uuid })
        get_absolute_url = models.permalink(get_absolute_url)

View .py

def new(request, form_class=PastedItemForm, template_name="oxybeles/new.html"):

    form = form_class()
    if request.method == 'POST':
        if request.POST["action"] == "paste":
            form = form_class(request.user, request.POST, request.FILES)
            if form.is_valid():
                item = form.save(commit=False)
                item.user = request.user
                item.save()
                request.user.message_set.create(
                    message=ugettext("Your album has been saved."))
                    # some problem with ugettext_lazy here
                return HttpResponseRedirect(reverse('oxybeles_detail',
                                            args=(item.uuid,)))
    return render_to_response(template_name,
                              {'form': form,},
                              context_instance=RequestContext(request))
new = login_required(new)

最佳答案

for item in items

其中 items 是一个充满 PastedItem 的查询集:

items = PastedItem.objects.all()

并且项目被提供给模板:

{'form':form, 'items': items}

关于python - 如何为 Django Pastebin 应用程序中的所有粘贴创建链接列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6500262/

相关文章:

iphone - 写信给 Pastie 或 Pastebin?

lua - 如何从 pastebin 访问原始私有(private)粘贴?

javascript - Pastebin,但对于 HTML?

python - C 可以运行编译后的 Python 代码(.pyc 文件)吗?

python - 为什么 Django blocktrans 在一个地方工作而不是在另一个地方工作?

python - 无法使用 '"c :\bld\scrapy_1564674375870\_h_env\python. exe 创建进程”

python - 为什么安装 python 包会破坏 setuptools 并导致找不到 pkg_resources?

python - 使用 python-oauth2 签署请求

python - 限制上传,直到管理员批准在 Django 中上传的文件

python - 扩展我的搜索功能