python - 无法在views.py索引函数中获得响应request.POST.get
问题描述
我正在尝试创建一个 webapp,它显示主机名的 IP 地址,应该从用户在 textField 中输入。但我一直收到这个错误。我看不到在 url 中得到响应。我是新手,请帮忙。
视图.py
from django.shortcuts import render
import dnspython as dns
import dns.resolver
def index(request):
search = request.POST.get('search')
# print(search)
ip_address = dns.resolver.Resolver.resolve(search, "A")
# ip_address = dns.resolver.Resolver()
# answers = ip_address.resolve(search, "A").rrset[0].to_text()
# try:
# ip_address = dns.resolver.resolve(search, 'A').rrset[0].to_text()
# except dns.resolver.NoAnswer:
# ip_address = 'No answer'
context = {"ip_address": ip_address}
return render(request, 'index.html', context)
这是html 请看一下并检查。提前致谢。
索引.html
{% extends 'base.html' %}
{% block title %} IP Finder {% endblock %}
{% block body %}
<div class="container">
<br>
<br>
<center>
<h1 style="font-family:'Courier New'">Django NSLookup</h1>
<br>
<br>
<form action="{% url 'index' %}" method="post">
{% csrf_token %}
<div class="form-group">
<label>
<input type="text" class="form-control" name="search" placeholder="Enter website">
</label>
</div>
<input type="submit" class="btn btn-primary" value="Search">
<p></p>
<p>Click on the "Choose File" button to upload a file:</p>
<form action="/action_page.php">
<input type="file" id="myFile" name="filename">
<input type="submit">
</form>
</form>
</center>
<br>
<br>
<p>IP Address is : {{ip_address}}</p>
</div>
{% endblock %}
追溯:
回溯(最后一次调用):文件“C:\Python39\lib\site-packages\django\core\handlers\exception.py”,第 47 行,内部响应 = get_response(request) 文件“C:\Python39\ lib\site-packages\django\core\handlers\base.py”,第 181 行,在 _get_response 响应 = Wrapped_callback(request, *callback_args, **callback_kwargs) 文件“C:\Users\vassu\PycharmProjects\IPFinderA\IPApp\ views.py",第 22 行,在索引中 ip_address = dns.resolver.Resolver.resolve(search, "A") 文件 "C:\Python39\lib\site-packages\dns\resolver.py",第 1186 行,在解析分辨率 = _Resolution(self, qname, rdtype, rdclass, tcp, File "C:\Python39\lib\site-packages\dns\resolver.py",第 552 行,在init self.qnames_to_try = resolver._get_qnames_to_try(qname, search) AttributeError: 'NoneType' 对象没有属性 '_get_qnames_to_try' [01/Sep/2021 04:07:16] "GET / HTTP/1.1" 500 73961
解决方案
代替
dns.resolver.Resolver.resolve()
利用:
dns.resolver.Resolver.query()
推荐阅读
- c# - 根据数据表中的一组日期范围检查日期范围
- javascript - 除非我刷新页面,否则 Javascript localStorage 在其他组件中不可用
- reactjs - 如何在 Flow 中扩展 ViewProps?
- python - 制作一个从字典中的键中检索信息的函数
- excel - 我有 2 个 sumifs 公式。我想根据是否满足 3 个标准来使用一个与另一个。如果语句不起作用
- php - PHP中数组的计数和求和
- c++ - 当摆脱模偏差时 min = -upper_bound % upper_bound; // 工作?
- movesense - J-Flash (Lite) 程序 Movesense
- xml - 使用 xslt 从 xml 输入中删除换行符
- php - 如何使用 PHP 查找和替换字符串中的多个值