【问题标题】:Cant get reponse request.POST.get in views.py index function在views.py索引函数中无法获得响应request.POST.get
【发布时间】:2021-10-30 12:00:12
【问题描述】:

我正在尝试创建一个 webapp,它显示主机名的 IP 地址,该主机名应该从用户在 textField 中输入。但我不断收到这个错误。我看不到在 url 中得到响应。我是新手,请帮忙。

view.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 请查看并检查。 提前致谢。

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 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 %}

追溯:

Traceback(最近一次调用最后):文件“C:\Python39\lib\site-packages\django\core\handlers\exception.py”, 第 47 行,在内部 response = get_response(request) 文件“C:\Python39\lib\site-packages\django\core\handlers\base.py”,行 181,在_get_response 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") File "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' object has no attribute '_get_qnames_to_try' [01/Sep/2021 04:07:16] “GET / HTTP/1.1”500 73961

【问题讨论】:

标签: python html django dns


【解决方案1】:

代替

dns.resolver.Resolver.resolve()

使用:

dns.resolver.Resolver.query()

【讨论】:

  • 我希望你的意思是 dns.resolver.query() 但它仍然显示相同的错误。我在自我中获得价值:dns.resolver.Resolver.query() 对象位于 0x00000194B1C95DF0> 而不是变量搜索
猜你喜欢
  • 2016-07-26
  • 2015-03-20
  • 1970-01-01
  • 2022-11-02
  • 2020-02-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多