首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >提交按钮不工作,并重定向到Django中的404错误页

提交按钮不工作,并重定向到Django中的404错误页
EN

Stack Overflow用户
提问于 2020-05-13 03:22:30
回答 4查看 363关注 0票数 0

我已经通过我的Django应用程序apps.example.com /adsense的主页通过scanned(requests)在我的站点子域apps.example.com中部署了Django,但是当我填写表单并单击SUBMIT Button时,它重定向到404错误页面,而不是在mainApp/views.py中运行第二个函数。但它能在本地主机上工作。

它位于mainApp/views.py目录中:

代码语言:javascript
运行
复制
    def home(request):
        return render(request, 'home.html')
        
    
    def scanned(request):
        email = request.POST['email']
        site = request.POST['site']
        rating = request.POST['stars']
        source = request.POST.getlist('source')
......
        return render(request, "result.html", {'rMsg':rMsg,'result0':result0, 'result1':result1,'site': site,'show_site':show_site, 'vips':m1, 'domain':domain, 'site_age':site_age, 'sent': sent})

MainApp/urls.py内部:

代码语言:javascript
运行
复制
from django.urls import path
from.import views

urlpatterns=[
    
    path('', views.home, name='home'),
    path('scanned/', views.scanned, name='scanned')

]

在home.html内部:

代码语言:javascript
运行
复制
{% extends 'main.html' %}
{% load static %}
{% block content %}
{% csrf_token %}
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">

<link rel="stylesheet" href="{% static 'style.css' %}">

  <form method='POST' action="/scanned/" class='FormBody'>
    {% csrf_token %}
    <div id='tab'>
      <h2>Adsense Eligibility Checker</h2>
      <fieldset class='siteAndEmail'>
        <legend>Site & Email</legend>
        <div class='form-wrapper'>
          <div class='full-input'>
            <label for="site">Your Site URL</label>
            <input type="domain" name='site' class='input' placeholder="https://yoursite.com">
          </div>

          <div class='full-input'>
            <label for="email">Your Email</label>
            <input type="text" name='email' class='input' placeholder="youremail@gmail.com">
          </div>
        </div>
      </fieldset>
      <fieldset class='siteAndEmail reached'>
        <legend>How did you reached us?</legend>
        <label class='c1'>
          <input type="checkbox" name='source' value='Facebook' />
          <i id='icon' class="fa fa-facebook"
            style='background:linear-gradient(white,lightblue); color:dodgerblue;'></i>
          Via Facebook
        </label>
        <label class='c1'>
          <input type="checkbox" name='source' value='Google Search' />
          <i id='icon' class="fa fa-google"
            style='background:linear-gradient(160deg,yellow, dodgerblue,rgb(255, 0, 119), rgb(157, 255, 0)); color:white;'></i>
          Via Google Search
        </label>
        <label class='c1'>
          <input type="checkbox" name='source' value='Quora' />
          <i id='icon' class="fa fa-quora"
            style='background:linear-gradient(rgb(236, 0, 0),rgb(158, 0, 0)); color:white;'></i>
          Via Quora
        </label>
        <div style='display:inline-block;'>
          OTHERS
          <input type="text" name='source'
            style="background:rgba(255, 255, 255, 0.048);font-family:'Courier New', Courier, monospace; border:0px; border-bottom:1px solid rgba(0, 0, 0, 0.568);line-height:1.5em; padding-left:3px;"
            placeholder="others" />

        </div>
      </fieldset>
    </div>
    <fieldset class='siteAndEmail'>
      <legend>Rate Our Service</legend>
      <div class='rating'>
        <label>
          <input type="radio" name="stars" value="1" />
          <span class="icon">★</span>
        </label>
        <label>
          <input type="radio" name="stars" value="2" />
          <span class="icon">★</span>
          <span class="icon">★</span>
        </label>
        <label>
          <input type="radio" name="stars" value="3" checked />
          <span class="icon">★</span>
          <span class="icon">★</span>
          <span class="icon">★</span>
        </label>
        <label>
          <input type="radio" name="stars" value="4" />
          <span class="icon">★</span>
          <span class="icon">★</span>
          <span class="icon">★</span>
          <span class="icon">★</span>
        </label>
        <label>
          <input type="radio" name="stars" value="5" />
          <span class="icon">★</span>
          <span class="icon">★</span>
          <span class="icon">★</span>
          <span class="icon">★</span>
          <span class="icon">★</span>
        </label>
      </div>
    </fieldset><br>
    <button class='butn'> S C A N </button>


</form>
{% endblock %}

在result.html内部:

代码语言:javascript
运行
复制
{% extends 'main.html' %}
{% load static %}
{% block content %}
{% load static %}
{% csrf_token %}
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<link rel="stylesheet" href="{% static 'style2.css' %}">
<div class='borders'>
<h2>R E S U L T Of Scanning Via Adsense Eligibility Checker</h2>
<div id='result'>
<ul style='text-align:left;'>
    <li type='disc'>
        {{result1}}
        <script>
        if ('{{rMsg}}'== ''){
            document.write('<br>');
            console.log('rMsg Level 1');
        }
        else {
            document.getElementById('rmsg').innerHTML=('{{rMsg}}');
            console.log('rMsg Level 2');
        }
        
    </script>
    {{result0}}
    <a id='rmsg'></a><br><a alt='What are the pages required for Adsense Approval' title='Pages Required For Adsense Approval' style='display:inline-block; text-decoration:none; color:rgb(196, 255, 87);' href='https://blog.example.com/check-website-eligibility-for-google-adsense/#What_are_the_pages_required_for_Adsense_approval'>
 Pages Required For Adsense Approval
    </a>
</li>
    <li type='disc'>{{domain}}</li>
    <li type='disc'>{{site_age}}</li>
    <p style='text-align:center;'><i id='icon' class="fa fa-globe" style='background:linear-gradient(rgba(0, 250, 146, 0.596),rgba(0, 140, 255, 0.637)); color:rgb(255, 255, 255);'></i>
        <a href='{{site}}' style='display:inline-block; text-decoration:none; color:rgb(0, 255, 179);'>{{show_site}}</a> is awesome.
    
    </p>
</ul>
</div>

</div>

<p style='font-size:medium;font-family:serif;'>{{sent}}</p>
<br>
<a style='font-family:Consolas;font-size:larger;font-weight:bolder;display:inline-block; text-decoration:none; color:rgb(196, 255, 87);' href='https://blog.example.com/check-website-eligibility-for-google-adsense/#What_are_the_minimum_requirements_for_Adsense_Approval' title='Minimum requirements for Adsense Approval'>Min-Requirements for Adsense Approval</a>

{% endblock %}
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2020-05-20 15:09:53

弹状体adsense-eligibility-checker的最后一个角色“r”消失在adsense-eligibility-checke\scanned中,最后,我添加了工作非常完美的action='adsense-eligibility-checker\scanned'

票数 0
EN

Stack Overflow用户

发布于 2020-05-13 03:24:49

还需要添加type属性,如果必须转到当前url,则可以将操作保留为空。

代码语言:javascript
运行
复制
<button class='butn' type='submit'> S C A N </button>
票数 0
EN

Stack Overflow用户

发布于 2020-05-13 03:40:18

更改此views.py:

代码语言:javascript
运行
复制
    def scanned(request):
        email = request.POST['email']
        site = request.POST['site']
        rating = request.POST['stars']
        source = request.POST.getlist('source')
......
        # Inside function
        return render(request, "result.html", {'rMsg':rMsg,'result0':result0, 'result1':result1,'site': site,'show_site':show_site, 'vips':m1, 'domain':domain, 'site_age':site_age, 'sent': sent})

另外,通过name更改您的操作。比如:

代码语言:javascript
运行
复制
<form method='POST' action="{% url 'scanned' %}" class='FormBody'>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61765818

复制
相关文章

相似问题

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