django Ошибка 404 страница не найдена http://localhost: 8000 / static / feed. html - PullRequest
0 голосов
/ 26 мая 2020

django добавляет / static / url к моему пути, и я не знаю, почему

вот мой views.py

from django.shortcuts import render
from django.views.generic import TemplateView, ListView, CreateView
from app.models import SendSMS
from app.forms import SendSMSForm
from django.urls import reverse_lazy
from app.utils import send_twilio_message
from django.conf import settings 
import datetime
# Create your views here.

# Create your models here.

def index(request): 
     return render(request, 'index.html')
def feed(request): 
     return render(request, 'feed.html')
def upload(request): 
     return render(request, 'upload.html')
def messages(request): 
    return render(request, 'messages.html')
def statistics(request): 
    return render(request, 'statistics.html')


class SendSmsCreateView(CreateView):
     model = SendSMS
     form_class = SendSMSForm
     template_name = 'messages.html'
     success_url = reverse_lazy('send_sms')

     def form_valid(self, form):
         number = form.cleaned_data['to_number']
         body = form.cleaned_data['body']
        # call twilio
         sent = send_twilio_message(number, body)
        # save form
        send_sms = form.save(commit=False)
        send_sms.from_number = settings.TWILIO_PHONE_NUMBER
        send_sms.sms_sid = sent.sid
        send_sms.account_sid = sent.account_sid
        send_sms.status = sent.status
        send_sms.sent_at = datetime.datetime.now()
        if sent.price:
            send_sms.price_unit = sent.price_unit
            send_sms.save()

        return super(SendSmsCreateView, self).form_valid(form)      

вот мой urls.py приложения

from . import views
from django.contrib import admin
from django.conf.urls import url
from django.urls import path, include
app_name = 'app'

urlpatterns = [
   path('', views.index, name='index'),
   path('', views.feed, name='feed'),
   path('', views.upload, name='upload'),
   path('', views.messages, name='messages'),
   path('', views.statistics, name='statistics'),
]

вот мой urls.py проекта

from django.contrib import admin
from django.conf.urls import url
from django.urls import path, include
from app.views import SendSmsCreateView
url(r'^admin/', admin.site.urls),
# ... your url patterns
path('', include('app.urls', namespace='app')),


url(
    regex=r'^app/$',
    view=SendSmsCreateView.as_view(),
    name='send_sms'
  ),

]

вот мой индекс. html файл

{% load static %}

<!DOCTYPE html>
 <html>
<head>
</head>
<body>
<li class="nav-item">
        <a href=" {% static 'feed.html' %} " class="nav-link">
          <i class="nav-icon fas fa-th"></i>
          <p>
            Feed
            <span class="right badge badge-danger">New</span>
          </p>
        </a>
      </li>
      <li class="nav-item has-treeview">
        <a href=" {% static 'messages.html' %} " class="nav-link">
          <i class="nav-icon fas fa-copy"></i>
          <p>
            Compose Message

          </p>
        </a>

      </li>
      <li class="nav-item has-treeview">
        <a href=" {% static 'upoad.html' %} " class="nav-link">
          <i class="nav-icon fas fa-chart-pie"></i>
          <p>
            Upload CSV
          </p>
        </a>
      </li>

   </body>

Ответы [ 2 ]

0 голосов
/ 14 июня 2020

Я добавил пространство имен в html файл

перед тем, как использовать

 <a href=" {% url 'feed.html' %} " class="nav-link active">

, указанное выше не сработало, поэтому я изменил его на

 <a href=" {% url 'app:feed' %} " class="nav-link active">
0 голосов
/ 26 мая 2020

некоторые из замеченных ошибок:

контекст отсутствует в представлении, добавьте пустые скобки, как показано, теперь сервер будет использоваться как контекст, позже вы можете добавить требуемый ключ и значения

def index(request): 
     return render(request, 'index.html', {})

ошибка в URL-адресе индексации, необходимо добавить неперекрывающиеся шаблоны регулярных выражений

path('', views.index, name='index'),
path('feed/', views.feed, name='feed'),
path('upload/', views.upload, name='upload'),
path('messages/', views.messages, name='messages'),
path('statistics/', views.statistics, name='statistics'),

изменить URL-адрес на путь, поскольку он устарел

path('app/',
    view=SendSmsCreateView.as_view(),
    name='send_sms'
  ),
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...