如何自动超链接从查询集返回的项目

发布于 2024-11-25 02:10:57 字数 733 浏览 0 评论 0原文

我有一个模型

class Transaction(models.Model):
    sender = models.ForeignKey(MyBankAccount, unique=False, related_name="transactions_sent") 
    receiver = models.ForeignKey(RecipientBankAccount, unique=False, related_name="transactions_received")
    created = models.DateField('transfer request date')
    amount = models.FloatField()
    createdby=models.ForeignKey(User,null=True)

,使用

<li>{{ item.sender }} {{ item.receiver }} {{ item.amount }}</li>

我希望 item.sender 自动超链接到

http://example.com 显示/johnsmith/trans/ 其中 johnsmith 是创建事务的用户的名称(也称为 createby)。我已经实现了这个url的视图。我只需要链接到它。

I have a model

class Transaction(models.Model):
    sender = models.ForeignKey(MyBankAccount, unique=False, related_name="transactions_sent") 
    receiver = models.ForeignKey(RecipientBankAccount, unique=False, related_name="transactions_received")
    created = models.DateField('transfer request date')
    amount = models.FloatField()
    createdby=models.ForeignKey(User,null=True)

which I display using

<li>{{ item.sender }} {{ item.receiver }} {{ item.amount }}</li>

I d like item.sender to be automatically hyperlinked to

http://example.com/johnsmith/trans/ where johnsmith is the name of the user that creates the transaction (aka createdby). I already implemented the view of this url. I just need to link to it.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

涙—继续流 2024-12-02 02:10:57

因此,大概您的 url.py 看起来像这样:

urlpatterns = patterns(
    '',
    # Patterns:

    url(r'^(?P<username>[\w-]+)/(?P<createdby>[\w-]+)/

您的视图是:

 def transaction(request, username, createdby):
     ...

那么您的模板片段是:

 <a href="{% url transaction item.sender item.receiver %}">{{ item.sender }}</a>

或者您可以在 Transaction 类中定义以下内容(必须保留 urls.py 文件):

 def get_absolute_url(self):
     from django.core.urlresolvers import reverse
     return reverse('transaction', kwargs={'username': self.sender, 'createdby': self.receiver})

然后你的模板看起来像:

 <a href="{{ item.get_absolute_url }}">{{ item.sender }}</a>

但是天哪,这都是 Django 101。

, transaction, name="transaction"), ....

您的视图是:

那么您的模板片段是:

或者您可以在 Transaction 类中定义以下内容(必须保留 urls.py 文件):

然后你的模板看起来像:

但是天哪,这都是 Django 101。

So, presumably your url.py looks something like:

urlpatterns = patterns(
    '',
    # Patterns:

    url(r'^(?P<username>[\w-]+)/(?P<createdby>[\w-]+)/

Your view is:

 def transaction(request, username, createdby):
     ...

Then your template fragment is:

 <a href="{% url transaction item.sender item.receiver %}">{{ item.sender }}</a>

Or you could define the following in your Transaction class (the urls.py file must remain):

 def get_absolute_url(self):
     from django.core.urlresolvers import reverse
     return reverse('transaction', kwargs={'username': self.sender, 'createdby': self.receiver})

And then your template would look like:

 <a href="{{ item.get_absolute_url }}">{{ item.sender }}</a>

But geez, this is all Django 101.

, transaction, name="transaction"), ....

Your view is:

Then your template fragment is:

Or you could define the following in your Transaction class (the urls.py file must remain):

And then your template would look like:

But geez, this is all Django 101.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文