Ошибка Объект '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()

Вернуться на верх