第一种方式:

要在Djangoadmin.py中自定义按钮action,并实现点击后弹出新窗口,可以按照以下步骤进行操作:

  1. 在你的app目录下创建一个admin_actions.py文件(或者任意命名),用于编写自定义的action函数。

  2. 在admin.py文件中导入需要的库和模块:

    from django.contrib import admin
    from django.urls import reverse
    from django.utils.html import format_html
  3. 在admin.py文件中注册你的Model,并定义一个ModelAdmin类,继承自admin.ModelAdmin。在该类中添加自定义的action方法:

    
    from .admin_actions import custom_action

class YourModelAdmin(admin.ModelAdmin):
actions = [custom_action]


4. 在admin_actions.py文件中编写自定义的action函数并实现点击弹出新窗口的功能。可以使用format_html()函数来生成一个带有链接属性的html标签,并使用reverse()函数来获取相应的URL。
```python
def custom_action(modeladmin, request, queryset):
    url = reverse('your_view_name')  # 替换为你要跳转到的视图名称
    return format_html(&#039;<a href="{}" target="_blank">点击这里</a>&#039;, url)</code></pre>
<ol start="5">
<li>最后,在你的ModelAdmin类中注册你的自定义action方法:
<pre><code class="language-python">actions = [custom_action]</code></pre></li>
</ol>
<p>这样,当你在Django的admin页面中选中一条数据并选择你的自定义action时,会弹出一个新的窗口,并跳转到指定的URL。请确保你已经在urls.py中正确定义了相应的视图。</p>
<p><strong>第二种方式:</strong></p>
<p>要在Django的admin.py中定义一个按钮action,无需选中任何数据即可实现点击按钮弹出其他站点网址的新窗口,可以按照以下步骤进行操作:</p>
<ol>
<li>
<p>在你的app目录下创建一个admin_actions.py文件(或者任意命名),用于编写自定义的action函数。</p>
</li>
<li>
<p>在admin.py文件中导入需要的库和模块:</p>
<pre><code class="language-python">from django.contrib import admin
from django.urls import reverse
from django.utils.html import format_html</code></pre>
</li>
<li>
<p>在admin.py文件中注册你的Model,并定义一个ModelAdmin类,继承自<code>admin.ModelAdmin</code>。在该类中添加自定义的action方法:</p>
<pre><code class="language-python">
from .admin_actions import custom_action</code></pre>
</li>
</ol>
<p>class YourModelAdmin(admin.ModelAdmin):
actions = [custom_action]</p>
<pre><code>
4. 在admin_actions.py文件中编写自定义的action函数并实现点击弹出其他站点网址的功能。使用<code>format_html()</code>函数来生成一个带有链接属性的html标签,并设置<code>target="_blank"</code>来在新窗口打开链接。
```python
def custom_action(modeladmin, request, queryset):
    url = "https://example.com"  # 替换为你要跳转的站点网址
    return format_html('<a href="{}" target="_blank">点击这里</a>', url)
  1. 最后,在你的ModelAdmin类中注册你的自定义action方法:
    actions = [custom_action]

这样,当你在Django的admin页面中点击你的自定义按钮时,会弹出一个新的窗口,并跳转到指定的站点网址。请确保你已经替换了url变量为你要跳转的站点网址。

声明:如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。None#python87.com