首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >位于/ 'NoneType‘对象的AttributeError没有属性'_get_qnames_to_try’

位于/ 'NoneType‘对象的AttributeError没有属性'_get_qnames_to_try’
EN

Stack Overflow用户
提问于 2021-08-31 20:07:56
回答 1查看 63关注 0票数 0

更新:我做了一些更改,现在我得到了这个'NoneType‘对象没有'is_absolute’属性。。我一直在一个项目中工作,我需要打印一个由用户输入的主机名的Ip地址在html页面上的文本字段。我在使用Django有点新奇。我得到这个错误:找不到qname。请帮帮我!

Heres Views.py

代码语言:javascript
复制
from django.shortcuts import render
import dns.resolver


def index(request):
    search = request.POST.get('search')
    # print('search='+search)
    ip_address = dns.resolver.Resolver.resolve(search, "A")
    context = {"ip_address": ip_address}
    return render(request, 'index.html', context)

更新: views.py

代码语言:javascript
复制
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")

    context = {"ip_address": answers}
    return render(request, 'index.html', context)

index.html

代码语言:javascript
复制
{% 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 %}

错误回溯:

代码语言:javascript
复制
> Traceback (most recent call last):   File
> "C:\Python39\lib\site-packages\django\core\handlers\exception.py",
> line 47, in inner
>     response = get_response(request)   File "C:\Python39\lib\site-packages\django\core\handlers\base.py", line
> 181, in _get_response
>     response = wrapped_callback(request, *callback_args, **callback_kwargs)   File "C:\Users\vassu\PycharmProjects\IPFinderA\IPApp\views.py", line 20, in
> index
>     ip_address = dns.resolver.Resolver.resolve(search, "A")   File "C:\Python39\lib\site-packages\dns\resolver.py", line 1159, in resolve
>     resolution = _Resolution(self, qname, rdtype, rdclass, tcp,   File "C:\Python39\lib\site-packages\dns\resolver.py", line 531, in __init__
>     self.qnames_to_try = resolver._get_qnames_to_try(qname, search) AttributeError: 'NoneType' object has no attribute
> '_get_qnames_to_try' [01/Sep/2021 01:27:27] "GET / HTTP/1.1" 500 73040

更新:有没有人能帮我找出错误的原因

EN

回答 1

Stack Overflow用户

发布于 2021-08-31 20:33:02

你能试着替换掉:

代码语言:javascript
复制
ip_address = dns.resolver.Resolver.resolve(search, "A")

出自:

代码语言:javascript
复制
try:
    ip_address = dns.resolver.resolve(search, 'A').rrset[0].to_text()
except dns.resolver.NoAnswer:
    ip_address = 'No answer'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69004777

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档