Форум программистов, компьютерный форум, киберфорум
Python: Django
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/29: Рейтинг темы: голосов - 29, средняя оценка - 4.93
1 / 1 / 0
Регистрация: 09.09.2017
Сообщений: 59

Появляется Exception TypeError после запуска Django проекта

12.02.2018, 12:58. Показов 5843. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Суть в следующем: Имеется в DjangoProject/urls.py:
Python Скопировано
1
2
3
4
5
6
7
from django.conf.urls import url
from django.contrib import admin
 
urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^goods/', 'myapplication.urls')
]
А в папке приложения DjangoProject/myapplication/urls.py вот такое:
Python Скопировано
1
2
3
4
5
6
from django.conf.urls import url
from myapplication import views
urlpatterns = [
    url(r'^$', views.index, name="index"),
    #url(r'^goods/$', views.good, name="good")
]
В результате выскакивает
Python Скопировано
1
raise TypeError('view must be a callable or a list/tuple in the case of include().')
В каком из urls.py и что надо поменять
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.02.2018, 12:58
Ответы с готовыми решениями:

Появляется окно CPU после начала запуска проекта
Проект компилируется и собирается без ошибок. Когда нажимаю запуск - появляется окно CPU и дальше не работает. У меня к проекту подключена...

При компиляции не появляется файл запуска моего проекта (экзешник)
Здравствуйте! Может кто-нибудь знает, из-за чего при компиляции проекта в конечной папке не появляется экзешник и как это исправить?

При создании проекта вместо запуска или отладки появляется Присоединение, а обозреватель решений не показывает проект
Доброго времени суток. Недавно начал изучать программирование на c# в visual studio 2019. Для обучения пользовался консольным .NET...

11
 Аватар для netBool
325 / 304 / 173
Регистрация: 16.11.2010
Сообщений: 1,069
Записей в блоге: 9
12.02.2018, 14:18
Цитата Сообщение от phoenix_css Посмотреть сообщение
В каком из urls.py и что надо поменять
Обычно джанго помимо типа ошибки пишет номер строки, в которой эта ошибка произошла.

Могу предположить, что ошибка скорее всего здесь:
Python Скопировано
1
    url(r'^goods/', 'myapplication.urls')
Вторым аргументом должна передаваться либо функция либо список, тк именно такого поведения ожидает функция url:
Python Скопировано
1
2
3
4
5
6
7
8
9
def url(regex, view, kwargs=None, name=None):
    if isinstance(view, (list, tuple)):
        # For include(...) processing.
        urlconf_module, app_name, namespace = view
        return RegexURLResolver(regex, urlconf_module, kwargs, app_name=app_name, namespace=namespace)
    elif callable(view):
        return RegexURLPattern(regex, view, kwargs, name)
    else:
        raise TypeError('view must be a callable or a list/tuple in the case of include().')
например, как вы сделали ниже, но закомментировали почему-то:
Python Скопировано
1
    url(r'^goods/$', views.good, name="good")
Соответственно в views.py должна быть функция
Python Скопировано
1
def good(request):
которая должна возвращать ответ
0
1 / 1 / 0
Регистрация: 09.09.2017
Сообщений: 59
12.02.2018, 14:45  [ТС]
Но что мне прописать в urlpatterns моего DjangoProject/urls.py, чтобы при обращении http://localhost:8000/goods вызывался views.py из моего myapplication?

Добавлено через 21 минуту
Исправил в DjangoProject/urls.py
Python Скопировано
1
2
3
4
urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^goods/', include('myapplication.urls'))
]
Далее, написал простого клиента:
Python Скопировано
1
2
3
4
5
6
7
import requests
import json
url = "http://localhost:8000/goods/index"
data = {'data': [{'key1': 'val1'}, {'key2': 'val2'}]}
headers = {'content-type': 'application/json'}
r = requests.post(url, data=json.dumps(data), headers=headers)
print(r.text)
A Django теперь выдаёт:
Python Скопировано
1
2
Not Found: goods/index
[12/Feb/2018 14:38:04] "POST goods/index HTTP/1.1" 404 2058
Во views.py функция index(request) есть.
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5904 / 3357 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
12.02.2018, 16:18
Цитата Сообщение от phoenix_css Посмотреть сообщение
чтобы при обращении http://localhost:8000/goods
Цитата Сообщение от phoenix_css Посмотреть сообщение
url = "http://localhost:8000/goods/index"
не сходится
0
 Аватар для netBool
325 / 304 / 173
Регистрация: 16.11.2010
Сообщений: 1,069
Записей в блоге: 9
12.02.2018, 16:21
Цитата Сообщение от phoenix_css Посмотреть сообщение
Not Found: goods/index
Правильно, регулярки ж для него не задано. В myapplication/urls.py пропишите
Python Скопировано
1
    url(r'^index$', views.index, name="index")
0
1 / 1 / 0
Регистрация: 09.09.2017
Сообщений: 59
12.02.2018, 16:31  [ТС]
Написал, всё равно не видит:
Not Found: /goods/index/

Добавлено через 1 минуту
Jabbson, небольшая опечатка. Там как раз http://localhost:8000/goods/index/
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5904 / 3357 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
12.02.2018, 16:46
Цитата Сообщение от phoenix_css Посмотреть сообщение
Написал, всё равно не видит:
выложите сюда полностью свои оба urls,
свой views, и версию джанги, а то мы тут долго гадать будем.
0
1 / 1 / 0
Регистрация: 09.09.2017
Сообщений: 59
12.02.2018, 17:03  [ТС]
DjangoProject/urls.py:
Python Скопировано
1
2
3
4
5
6
7
from django.conf.urls import url, include
from django.contrib import admin
 
urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^goods/$', include('myapplication.urls')),
]
А теперь myapplication/urls.py:
Python Скопировано
1
2
3
4
5
6
7
8
from django.conf.urls import url
from myapplication import views
 
urlpatterns = [
    #url(r'^$', views.index, name="index"),
    #url(r'^goods/index$', views.index)
    url(r'^index$', views.index, name="index")
]
Версия Django 1.11.7
Ну а это myapplication/views.py:
Python Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
from django.shortcuts import render
from django.http import HttpResponse, JsonResponse
from django.views.decorators.csrf import csrf_exempt
import json
# Create your views here.
 
 
@csrf_exempt
 
 
def index(request):
    print("Trying to get data...")
    if request.method == 'POST':
        received_json_data = request.body
        d = json.loads(received_json_data)
     return JsonResponse({'foo': 'bar'})
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5904 / 3357 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
12.02.2018, 17:38
Доллары - это хорошо, но не всегда. Убирайте в обоих urls.
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5904 / 3357 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
12.02.2018, 17:40
после этого

Появляется Exception TypeError после запуска Django проекта

Появляется Exception TypeError после запуска Django проекта
0
 Аватар для netBool
325 / 304 / 173
Регистрация: 16.11.2010
Сообщений: 1,069
Записей в блоге: 9
12.02.2018, 17:59
Вот интересно, в посте #3 было
Python Скопировано
1
    url(r'^goods/', include('myapplication.urls'))
а потом в #8 уже
Python Скопировано
1
    url(r'^goods/$', include('myapplication.urls')),
и мы еще удивляемся, почему:
Цитата Сообщение от phoenix_css Посмотреть сообщение
всё равно не видит

Не по теме:

Пора записываться на курсы телепатии



PS: phoenix_css, учите регулярные выражения
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5904 / 3357 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
12.02.2018, 18:08
ну справедливости ради, стоит отметить, что тут
Цитата Сообщение от netBool Посмотреть сообщение
url(r'^index$', views.index, name="index")
доллар приведет к тому, что если поставить слеш в конце урла в браузере, то страница упадет.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.02.2018, 18:08
Помогаю со студенческими работами здесь

Появляется BSOD после запуска VirtualBox
Установил VirtualBox. Запускаю машину и появляется экран смерти,именно на самом компе,а не на виртуалке). Что делать?

После запуска программы появляется BSOD
Доброго времени суток друзья! Столкнулся с такой проблемой, после запуска программы ( у меня Windows 7) появляется bsod. Причем...

После запуска появляется окно и сразу пропадает
Я хотел создать exe файл Python. Посмотрел, как это сделать в данном ролике: https://youtu.be/CgCJwDjm_Cw. Сделал всё так, как парень там...

После запуска не появляется стандартная страница laravel
Здравствуйте. Вообщем удалось установить laravel(наконец-то) . Но после установки появляется шаблон какого-то сайта на bootstrap, а не...

Кнопки нет при программировании, а после запуска появляется
Помогите, пожалуйста. Скачал текстовый редактор с исходниками, и не могу исправить чтобы кнопка Recent Files в меню File была перед Exit....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Не удержался от оценки концепции двигателя Стирлинга.
Hrethgir 03.04.2025
Сколько не пытался - она выдавала правильные схемы, причём случайно рисовала горячие области в середине, холодные по краям, трубки с краёв в низ и магнит в соединяющей, но при этой выдавала описание. . .
Метод с двумя буферами (или double buffering) или ping-pong buffering
Hrethgir 02.04.2025
Из ответов LM модели. Метод, который предполагает использование двух массивов для хранения промежуточных результатов сложения векторов, обычно применяется в сценариях, где необходимо минимизировать. . .
На любовном киберфронте
Alexander-7 01.04.2025
Недавно на одном малоизвестном сайте знакомств мною заинтересовалась девушка: «Текст немного странный. Но, судя по адресу почты, иностранка», – подумал я. Поколебавшись пару суток, я ответил ей:. . .
Как работает Node.js изнутри
run.dev 29.03.2025
Node. js изменил подход к разработке веб-приложений, позволив использовать JavaScript не только на стороне клиента, но и на сервере. Созданный в 2009 году Райаном Далем, этот открытый,. . .
Моки в Python: Mock Object Library
py-thonny 29.03.2025
Тестирование кода требует особого подхода, когда речь идёт о компонентах, взаимодействующих с внешним миром. Мы часто сталкиваемся с непредсказуемостью HTTP-запросов, чтением данных из базы или. . .
JavaScript: Управление памятью и улучшение производительности
run.dev 29.03.2025
В отличие от низкоуровневых языков программирования, JavaScript не требует ручного выделения и освобождения памяти. Здесь работает автоматический сборщик мусора, который определяет, какие объекты. . .
Мультитенантная архитектура со SpringBoot и PostgreSQL
ArchitectMsa 29.03.2025
SaaS-приложения редко обслуживают одного клиента и обычно они должны поддерживать множество организаций, каждая из которых работает в своём изолированном пространстве. Мультитенантная архитектура. . .
std::span в C++: Производительность и лучшие практики
NullReferenced 28.03.2025
std::span — одно из самых недооценённых нововведений стандарта C++20, которое радикально меняет подход к работе с непрерывными последовательностями данных. По сути, это невладеющее представление. . .
Многопоточность в C#: Threadpool
UnmanagedCoder 28.03.2025
Пул потоков в C# — это коллекция заранее созданных и готовых к использованию потоков, которые находятся в распоряжении приложения. Вместо того чтобы создавать и уничтожать потоки для каждой небольшой. . .
Вопросы на собеседованиях по микросервисам
ArchitectMsa 27.03.2025
Работодатели ищут не просто разработчиков, знающих базовые концепции, а специалистов, разбирающихся в тонкостях масштабирования, отказоустойчивости и производительности. Сейчас на первый план выходят. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер