Ошибка Объект 'NoneType' не имеет атрибута 'is_absolute' при использовании mongodb
Тип исключения: AttributeError
Значение исключения:
У объекта 'NoneType' нет атрибута 'is_absolute' Расположение исключения: C:\Users\A\IPFinder\venv\lib\site-packages\dns\resolver.py, line 1006, in _get_qnames_to_try
Исполняемый файл Python: C:\Users\A\IPFinder\venv\Scripts\python.exe
при загрузке файла кнопка submit должна сохранить файл, но при запуске action_page.py код выдает ошибку 'NoneType' object has no attribute 'is_absolute'
.action_page.py
import cgi import os import 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 %}
views.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:
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()