小编rva*_*aga的帖子

将 django-widget-tweaks 与 Jinja2 模板引擎结合使用

我使用 django v1.11.7 和 Jinja2 v2.10 作为模板引擎。

在我的网站中,我希望使用引导程序呈现表单。我发现django-widget-tweaks可用于此集成。

该包无法与 Jinja 模板一起使用,因为它需要将自定义标签集加载到 Jinja 环境中。加载标签集可能很复杂,因为我可能需要编写扩展。

有没有一种简单的方法可以让 django-widget-tweaks 与 Jinja 一起工作?或者还有其他方法将 boostrap 与 Jinja 集成吗?

django-forms jinja2 django-widget-tweaks

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

将多个模型从一个 django 应用程序移动到另一个

我正在使用 django v2.0.2 构建一个项目,该项目由 3 个具有 24 个模型的应用程序组成。其中一款应用有 14 个模型。在一个应用程序中拥有如此多的模型变得越来越复杂,我想创建一个新应用程序并将少数模型移至此应用程序。

我找到了一个答案,解释了如何使用南来做到这一点。我一直在使用 django 核心迁移,由于不推荐使用南,此时我不想切换到南。

我想要移动的模型非常复杂 - 它们有ForeignKey字段、ManyToMany字段等。我需要一个工作流来展示如何使用 django 核心迁移来移动这些模型。

django django-models

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

基于 Django 类的视图:发布表单数据返回 302 Found 状态代码

我正在使用 django 的基于类的通用视图CreateView将图像上传到一本书。这是代码:

# models.py
class Upload(models.Model):
    image = models.ImageField(upload_to=get_upload_path, help_text='Image to process')
    uploader = models.ForeignKey(settings.AUTH_USER_MODEL, models.CASCADE, related_name='uploader')
    language = models.ForeignKey(Language, models.CASCADE)
    book = models.ForeignKey(Book, models.CASCADE)

    def __str__(self):
        return str(os.path.split(self.image.name)[-1].split('_', 1)[-1])

    @models.permalink
    def get_absolute_url(self):
        return ('book:upload_new', (self.book.id,))     # upload_new is linked to the view below

    def save(self, *args, **kwargs):
        super(Upload, self).save(*args, **kwargs)

    def delete(self, *args, **kwargs):
        self.image.delete(False)
        super(Upload, self).delete(*args, **kwargs)


# views.py
@method_decorator(login_required, name='dispatch')
class PictureCreateView(CreateView):
    model = Upload
    fields = ("image",)
    book_id = None

    def dispatch(self, *args, …
Run Code Online (Sandbox Code Playgroud)

django django-forms django-class-based-views

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

在 Bootstrap 4 中使最右边的列固定位置

我正在尝试使用position: fixed.

这是一个演示它的代码

当我滚动文档时,我希望右侧的按钮组粘在视口上。我试过添加position: fixed; 这不能按预期工作 - 它会导致按钮组像这样覆盖在窗口顶部。

我已经看到了关于在 Bootstrap 中固定列的这个答案,但是当列的位置互换时,解决方案将不起作用。那里的解决方案很少会导致右列在小屏幕中覆盖在左列的顶部,这是不可取的。在这种情况下,在小屏幕上查看时,我希望列堆叠(禁用粘性功能)。

我更喜欢 CSS 解决方案,但如果可能的话,我也想知道它是如何在 JS 中完成的。

javascript css jquery twitter-bootstrap bootstrap-4

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

在基于 django 类的通用视图 CreateView 中设置表单字段

我正在使用 djangoCreateView将图像添加到书中。我将书的 id 作为 url 中的参数传递给基于类的视图。诸如book和 之类的表单字段language不会呈现在模板上,而是借助书籍 ID 来获取。

# views.py
class PictureCreateView(CreateView):
    model = Upload
    fields = "__all__"
    book_id = None

    def get_initial(self):
        initial = super(PictureCreateView, self).get_initial()
        initial = initial.copy()
        self.book_id = self.kwargs['book_id']
        book = Book.objects.get(id=self.book_id)
        initial['book'] = book
        initial['language'] = language
        initial['uploader'] = self.request.user
        return initial

    # set book_id so it used in the template
    def get_context_data(self, **kwargs):
        context = super(PictureCreateView, self).get_context_data(**kwargs)
        context['book_id'] = self.book_id
        return context

    def form_valid(self, form, **kwargs):
        print('Form …
Run Code Online (Sandbox Code Playgroud)

django django-views django-class-based-views

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