python - 使用 mongodb 时出现错误“NoneType”对象没有属性“is_absolute”
问题描述
异常类型:属性错误
异常值:
“NoneType”对象没有属性“is_absolute”异常位置:C:\Users\A\IPFinder\venv\lib\site-packages\dns\resolver.py,第 1006 行,在 _get_qnames_to_try
Python 可执行文件:C:\Users\A\IPFinder\venv\Scripts\python.exe
上传文件时,提交按钮应保存文件,但在运行 action_page.py 时显示代码显示错误“NoneType”对象没有属性“is_absolute”
action_page.py
导入 cgi 导入 os 导入 cgitb;cgitb.enable()
form = cgi.FieldStorage()
fileitem = form['filename']
if fileitem.filename:
fn = os.path.basename(fileitem.filename)
open(fn, 'wb').write(fileitem.file.read())
这是我的 index.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 enctype = "multipart/form-data" action="action_page.py" method="get">
<input type="file" id="myFile" name="filename">
<input type="submit" value="upload">
</form>
</form>
</center>
<br>
<br>
<p>IP Address is : {{ip_address}}</p>
</div>
{% endblock %}
视图.py
import dns.resolver
def Index(request):
search = request.POST.get('search')
my_resolver = dns.resolver.Resolver()
ip_address = my_resolver.resolve(search, "A")
for i in ip_address:
context = {"ip_address": i.to_text()}
# print(ip_address)
return render(request, 'index.html', context)
追溯:
Traceback (most recent call last): File
"C:\Users\A\IPFinder\venv\lib\site-packages\django\core\handlers\exception.py",
line 47, in inner
response = get_response(request) File "C:\Users\A\IPFinder\venv\lib\site-packages\django\core\handlers\base.py",
line 181, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs) File "C:\Users\A\IPFinder\IPApp\views.py", line 20, in Index
ip_address = my_resolver.resolve(search, "A") File "C:\Users\A\IPFinder\venv\lib\site-packages\dns\resolver.py", line
1159, in resolve
resolution = _Resolution(self, qname, rdtype, rdclass, tcp, File "C:\Users\A\IPFinder\venv\lib\site-packages\dns\resolver.py", line
531, in __init__
self.qnames_to_try = resolver._get_qnames_to_try(qname, search) File "C:\Users\A\IPFinder\venv\lib\site-packages\dns\resolver.py",
line 1006, in _get_qnames_to_try
if qname.is_absolute():
Exception Type: AttributeError at / Exception Value: 'NoneType' object
has no attribute 'is_absolute'
解决方案
这ip_address = my_resolver.resolve(search, "A")
条线的问题。
您能否检查一下您是否获得了预期值?
您还可以查看此文档:dns.resolver.Resolver().resolve()
推荐阅读
- c++ - CMAKE 方法来构建链接到第三方库的可分发库
- php-7 - PHP 7 中成员选择和数组索引优先级中未记录的行为更改 - 这是一个错误吗?
- node.js - Bleno:如何将消息发回给发件人?
- c - 在 VS Code 中编辑 buld/run 任务的位置
- mysql - 基本 MySQL 命令含义
- python - 接受作为 scikit-learn.predict 方法参数的类型
- flutter - 在 WEB 中运行 Flutter:错误:XMLHttpRequest 错误
- python - 没有名为“PIL”的模块。当我尝试安装它给我一个错误
- java - Java:访问一个类中的属性,该类也是同一个类的对象
- firebase - 如何在 Firestore 中使用多条件