简体   繁体   English

找不到404页面Django

[英]404 Page not found Django

Yesterday I was working on my django project and it was working pretty well, but today when I ran the server and try to access my page, it didn't work. 昨天我在进行django项目,并且运行良好,但是今天当我运行服务器并尝试访问我的页面时,它不起作用。

error message: 错误信息:

Page not found (404)
Request Method: GET
Request URL:    http://127.0.0.1:8000/Oraculum_Data/cancerColo/

Using the URLconf defined in Oraculum.urls, Django tried these URL patterns, in this order:
^admin/
^Oraculum_Data/ ^$
^Oraculum_Data/ ^Oraculum_Data/login/$
^Oraculum_Data/ ^Oraculum_Data/cancerColo/$
^Oraculum_Data/ ^Oraculum_Data/api/data/$
^Oraculum_Data/ ^Oraculum_Data/api/chart/data/$
The current path, Oraculum_Data/cancerColo/, didn't match any of these.

my url patterns: 我的网址格式:

urlpatterns = [
    url(r'^admin/', include('Oraculum_Data.urls')),
    url(r'^Oraculum_Data/', include('Oraculum_Data.urls'))
]

my url patterns in Oraculum_Data app: 我在Oraculum_Data应用中的网址格式:

from django.conf.urls import url
from . import views
from django.contrib.auth.views import login



    urlpatterns = [
        url(r'^$', views.home),
        url(r'^Oraculum_Data/login/$', login, {'template_name': 'Oraculum_Data/login.html'}),
        url(r'^Oraculum_Data/cancerColo/$', views.cancerColo),
        url(r'^Oraculum_Data/api/data/$', views.get_data),
        url(r'^Oraculum_Data/api/chart/data/$', views.ChartData.as_view()),
    ]

my Oraculum_Data app views.py file: 我的Oraculum_Data应用程序views.py文件:

from django.http import JsonResponse
from django.shortcuts import render, HttpResponse
import requests
import pandas as pd

from rest_framework.views import APIView
from rest_framework.response import Response

def home(request):
    name = "Test name"

    args = {'MyName' : name}
    return render(request, 'Pages/HomePage.html', args)

def cancerColo(request):
    response = requests.get('http://sage.saude.gov.br/graficos/cancerMamaColo/cancerColo3544.php?output=json')
    response_json = response.json()
    df = pd.DataFrame(response_json['resultset'], columns=['Ano', 'Branca', 'Amarela', 'Ignorada', 'Indigena', 'Parda', 'Preta'])
    args = {'dataframe' : df.to_html(classes="table table-striped"), 'name' : 'Câncer de colo de útero (por raça)'}
    return render(request, 'Pages/CancerColo.html', args)

def get_data(request, *args, **kwargs):
    data = {
        "sales" : 100,
        "customers" : 10,
    } 
    return JsonResponse(data) # http response   

class ChartData(APIView):
    authentication_classes = []
    permission_classes = []

    def get(self, request, format=None):
        """
        Return a list of all users.
        """
        data = {
        "sales" : 100,
        "customers" : 10,
        } 
        return Response(data)

settings: 设置:

INSTALLED_APPS = [
    'rest_framework',
    'Oraculum_Data',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

The home page still working just fine, but the others don't. 主页仍然可以正常工作,而其他页面则不能。

There's something wrong with the code? 代码有问题吗? It was working yesterday. 昨天在工作。

You've got the string "Oraculum_Data" twice in those URLs; 在这些URL中,您两次获得了字符串“ Oraculum_Data”; one when you include the app pattern and one in each of the patterns. 一个包括您的应用程序模式,另一个包括每个模式。 You should remove the second - the patterns should just be: 您应该删除第二个-模式应该是:

urlpatterns = [
    url(r'^$', views.home),
    url(r'^login/$', login, {'template_name': 'Oraculum_Data/login.html'}),
    url(r'^cancerColo/$', views.cancerColo),
    url(r'^api/data/$', views.get_data),
    url(r'^api/chart/data/$', views.ChartData.as_view()),
]

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM