独立页面上的Bootstrap模式实现非常简单,可以使用按钮或<a>
标签触发,但我们假设我有以下类
class CustomerMixin(object)
class CustomerFormMixin(CustomerMixin, CreateView)
CustomerListView(CustomerMixin, ListView)
CustomerCreateView(CustomerMixin, CreateView)
CustomerUpdateView(CustomerFormMixin, UpdateView)
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模式 一旦用户点击索引页面上的创建标签,我就可以触发模态,同时触发创建类。
我查了下面的博客,但没有运气:
答案 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中的参数传递。
希望这有帮助!