Python/Django-将按钮从一个HTML页面复制到另一个HTML页面

Python/Django-将按钮从一个HTML页面复制到另一个HTML页面,python,html,django,Python,Html,Django,我刚刚接手了一些用Python/Django编写的项目管理软件的开发工作——以前我很少使用Python或Django 其中一个网页上显示了一些按钮,在应用程序的另一个页面上显示这些按钮会很有用。我可以看到这些按钮是在budget.html中定义的,代码如下: {% block page_options %} <a class="button m-r-md" href="{% url 'costing:export_csv' budget.id %}">Export to Ex

我刚刚接手了一些用Python/Django编写的项目管理软件的开发工作——以前我很少使用Python或Django

其中一个网页上显示了一些按钮,在应用程序的另一个页面上显示这些按钮会很有用。我可以看到这些按钮是在
budget.html
中定义的,代码如下:

{% block page_options %}
    <a class="button m-r-md" href="{% url 'costing:export_csv' budget.id %}">Export to Excel</a>
    <a class="button m-r-md" href="{% url 'costing:schedule_of_works_post_dep' budget.id %}" target="_blank">Schedule of works</a>
    <a class="button m-r-md" href="?pdf=1" target="_blank">PDF</a>
    <input data-view-url="{% url 'costing:combined_budget' project.id %}?search=" type="text" id="item_search" placeholder="Item search" />
{% endblock page_options %}
因此,我尝试将第一页的代码复制并粘贴到第二页的这个块中:

{% block page_options %}
    <button class="button modalBtn" name="variation">+ Add variation</button>

    <a class="button" href="{% url 'costing:add_omit_builder' project.id %}">+ Add group</a>

    <a class="button" id="scas" data-view-url="{% url 'costing:preview_scas' project.budget_overview.version.id %}" href="{% url 'costing:scas_2_variations' project.budget_overview.version.id %}">+ Standard cost assumptions</a>

    <!--ERF(17/11/2016 @ 1700) Add buttons to export adds/ omits table to excel -->
        <a class="button m-r-md" href="{% url 'costing:export_csv' budget.id %}">Export to Excel</a>
<a class="button m-r-md" href="{% url 'costing:schedule_of_works_post_dep' budget.id %}" target="_blank">Schedule of works</a>
<a class="button m-r-md" href="?pdf=1" target="_blank">PDF</a>
<input data-view-url="{% url 'costing:combined_budget' project.id %}?search=" type="text" id="item_search" placeholder="Item search" />


{% endblock page_options %}
{%block page_options%}
+添加变体
{%endblock页面_选项%}
但是,当我现在尝试在浏览器中查看此页面时,会出现一个错误页面,其中显示:

NoReverseMatch at/costing/5915/variations/

我不知道为什么会出现这个错误。。。我是否需要引用在HTML文件其他地方复制的代码中使用的任何视图调用?两个HTML文件都在同一个应用程序中,因此共享相同的
models.py
文件-因此我认为它们都能够使用此应用程序中定义的所有
模型
&
视图


是这样吗?如果是这样,为什么我会在变体页面上出现这个错误?

根据您所说的,我想问题是您的上下文变量中没有“预算”值。我认为使用第一个模板的视图在其上下文中发送“预算”。 但第二种观点则不然。这就是为什么当您尝试在第二个模板中获取budget.id时会出现错误

尝试修改视图中的上下文并向其中添加“budget”变量

def my_view(request, pk):
    budget= get_object_or_404(Budget, pk=pk)
    return render(request, 'budget.html', {'budget': budget})
或者,如果您使用的是基于类的视图,则应重写get_context_data方法:

def get_context_data(self, **kwargs):
    context = super().get_context_data(**kwargs)
    context['budget'] = self.budget
    return context

如果你在复制和粘贴代码,你已经做错了。但是,如果你需要真正的帮助,你需要发布完整的错误并进行回溯。
def get_context_data(self, **kwargs):
    context = super().get_context_data(**kwargs)
    context['budget'] = self.budget
    return context