在基于django类的视图中使用bootstrap模式,(创建,更新,搜索等)

时间:2016-09-20 06:07:31

标签: python django bootstrap-modal

独立页面上的Bootstrap模式实现非常简单,可以使用按钮或<a>标签触发,但我们假设我有以下类

  1. class CustomerMixin(object)
  2. class CustomerFormMixin(CustomerMixin, CreateView)
  3. CustomerListView(CustomerMixin, ListView)
  4. CustomerCreateView(CustomerMixin, CreateView)
  5. CustomerUpdateView(CustomerFormMixin, UpdateView)
  6. URL:

    urlpatterns = [
    url(r'^$', CustomerListView.as_view(), name='index'),
    url(r'^create$', CustomerCreateView.as_view(), name='create'),
    url(r'^detail/(?P<pk>[0-9]+)$', CustomerDetailView.as_view(), name='detail'),
    url(r'^delete/(?P<pk>[0-9]+)$', CustomerDeleteView.as_view(), name='delete'),
    url(r'edit/(?P<pk>[0-9]+)$', CustomerUpdateView.as_view(), name='edit'),
    

    在索引页面中,我有3个链接,每个链接引用它自己的类

    <a href="{% url 'myapp:create' %}">Create</a>
    

    并且在表格中每行的索引页面上的列表中,我有2个链接用于该行的编辑和删除。

    所以现在我想为Create和Update设置bootstrap模式 一旦用户点击索引页面上的创建标签,我就可以触发模态,同时触发创建类。

    我查了下面的博客,但没有运气:

1 个答案:

答案 0 :(得分:1)

所以,澄清一下:

您有一个页面来管理项目列表(创建,编辑和删除)。 您希望模式能够显示用于创建,编辑这些对象的表单。

您已经为要设置为基于类的视图(CustomerCreateView,CustomerUpdateView)设置的这两个操作设置了页面。

当您打开模态时,您需要做的是通过'GET'请求触发对这些视图的AJAX调用。然后,将这些视图的模板作为HTML返回,并使用此内容填充模式。

E.g。对于CreateView:

> id_result
  docname position   contextPre keyword      contextPost CustID
1   text1        5 at all looks    good and sounds great      1
2   text3        7   offer is a    good value and has         3
3   text5        6 sure thats a    good word to use           5

类似地,您可以为UpdateView执行此操作,但是当然您必须将对象的id作为Ajax中的参数传递。

希望这有帮助!