亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在基于類的視圖中使用 url 變量

如何在基于類的視圖中使用 url 變量

富國滬深 2023-05-23 15:37:29
我在 url 變量和基于類的視圖方面有問題,但主要是在 html 或模板中,因為我不知道如何表示它,我將向您展示代碼以便您理解。urls.pyapp_name = 'app1'urlpatterns = [    path('add_post/<str:sym>',AddPostView.as_view(), name='addpost'),]views.pyclass AddPostView(CreateView):    model = Post    form_class = PostForm    template_name = 'app1/createpost.html'    def get_queryset(self):        ala = Post.objects.filter(stock__symbol=self.kwargs['sym'])        return alamodels.pyclass StockNames(models.Model):    name = models.CharField(max_length=255)    symbol = models.CharField(max_length=255)    def __str__(self):        return self.symbol            class Post(models.Model):    title = models.CharField(max_length= 255)    header_image = models.ImageField(null = True, blank = True, upload_to = 'images/')    author = models.ForeignKey(User, on_delete=models.CASCADE)    body = RichTextField(blank = True, null = True)    #body = models.TextField()    post_date = models.DateField(auto_now_add=True)    category = models.CharField(max_length=255, default='coding')    snippet = models.CharField(max_length=255)    likes = models.ManyToManyField(User, related_name = 'blog_posts')    stock = models.ForeignKey(StockNames, null=True, on_delete = models.CASCADE)    def total_likes(self):        return self.likes.count()    def __str__(self):        return self.title + ' | ' + str(self.author)        def get_absolute_url(self):        return reverse('app1:article-detail', args=(self.id,))模板(我在添加帖子(當前)時遇到問題){% extends "app1/base.html" %}    {% block body_block %}            {% if stock_sym %}    <h1> {{sym}} </h1>    <a href ="{% url 'app1:addpost' StockNames.symbol %}">Add Post<span class="sr-only">(current)</span></a>         {% if stocks %}
查看完整描述

1 回答

?
心有法竹

TA貢獻1866條經驗 獲得超5個贊

嘗試:

<a?href?="{%?url?'app1:addpost'?sym=sym?%}">Add?Post<span?class="sr-only">(current)</span></a>

Views.py - 嘗試切換 get_context_data 的方法:

class?AddPostView(CreateView):
????model?=?Post
????form_class?=?PostForm
????template_name?=?'app1/createpost.html'

????def?get_context_data(self,?*args,?**kwargs):
????????context?=?super().get_context_data(**kwargs)
????????context.update(
????????????sym=get_object_or_404(StockNames,?StockNames.symbol)
????????)????
????????????return?context
查看完整回答
反對 回復 2023-05-23
  • 1 回答
  • 0 關注
  • 128 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號