From django conf urls import url ошибка

Пытался выполнить команду:

Пытался выполнить команду:

from django.urls import path

Получение ошибки:

Traceback (последний последний вызов): Файл «&ltd; stdin > «, строка 1, в  ImportError: невозможно импортировать имя «путь»

Я использую версию django 1.11

4b9b3361

Ответ 1

Причина, по которой вы не можете импортировать путь, связана с тем, что в Django 2.0 она новая, как указано здесь: https://docs.djangoproject.com/en/2.0/ref/urls/#path.

На этой странице в нижнем правом углу вы можете изменить версию документации на версию, которую вы установили. Если вы это сделаете, вы увидите, что в path для 1.11 docs нет записи.

Ответ 2

pip install --upgrade django
pip3 install --upgrade django

python -m django --version # 2.0.2
python3 -m django --version # 2.0.2

Ответ 3

Используйте URL вместо пути.

from django.conf.urls import url

urlpatterns = [
    url('', views.homepageview, name='home')
]

Ответ 4

Python 2 не поддерживает Django 2. На Mac после установки Python 3 и Django 2 выполните следующую команду из оболочки, чтобы запустить ваше приложение, сохраняя путь:

python3 manage.py runserver

Даже если вы обновились и работаете на Mac, по умолчанию вы запустите Python 2, если вводите следующую команду:

python manage.py runserver

Версия Django будет неправильной, и вы увидите ошибки импорта для path

Ответ 5

Как использовать URL как в приложении (страницах), так и в проекте.

Конфигурация URL всего проекта root/urls.py

 from django.conf.urls import url, include
 from django.contrib import admin
 urlpatterns = [
     url(r'^admin/', admin.site.urls),
     url('', include('pages.urls')),
   ]

Страницы приложения Конфигурация URL-адреса root/pages/urls.py

# pages/urls.py
from django.conf.urls import url
from . import views
urlpatterns = [
url('', views.homePageView, name='home')
]

Ответ 6

Для тех, кто использует python 2.7, python2.7 не поддерживает django 2, поэтому вы не можете установить django.urls. Если вы уже используете Python 3.6, вам нужно обновить django до последней версии, которая больше 2.

  • На PowerShell

    pip install -U django

  • верификация

>

PS C:Usersxyz> python
Python 3.6.6 |Anaconda, Inc.| (default, Jul 25 2018, 15:27:00) [MSC v.1910 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.

>>> from django.urls import path
>>>

Когда пришло следующее приглашение, это означает, что оно установлено и готово к использованию.

Ответ 7

Мое предположение, что у вас уже есть настройки на вашем urls.py

from django.urls import path, include 
# and probably something like this 
    urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('blog.urls')),
]

и в вашем приложении вы должны иметь что-то вроде этого blog/urls.py

 from django.urls import path

 from .views import HomePageView, CreateBlogView

 urlpatterns = [
   path('', HomePageView.as_view(), name='home'),
   path('post/', CreateBlogView.as_view(), name='add_blog')
 ]

если это так, то, скорее всего, вы не активировали свою среду, попробуйте следующее, чтобы активировать среду сначала pipenv shell если вы все еще получаете ту же ошибку, попробуйте следующие методы

убедиться, что Django установлен?? какие-нибудь еще пакеты? то есть подушка попробуйте следующее

pipenv install django==2.1.5 pillow==5.4.1

затем не забудьте активировать свою среду

pipenv shell

после активации среды попробуйте запустить

python3 manage.py makemigrations

python3 manage.py migrate

тогда вам нужно будет бежать

python3 manage.py runserver

надеюсь, это поможет

Ответ 8

Как показывает ошибка, путь не может быть импортирован.

enter image description here

Так что здесь мы будем использовать URL вместо пути, как показано ниже:

сначала импортируйте пакет url, затем замените путь на URL

from django.conf.urls import url
urlpatterns = [
    url('admin/', admin.site.urls),
]

Для получения дополнительной информации вы можете взять ссылку по этой ссылке.

Ответ 9

Похоже, что вы забыли активировать виртуальную среду, попробуйте запустить python3 -m venv venv или, если у вас уже настроена виртуальная среда, попробуйте активировать ее, запустив source venv/bin/activate

Ответ 10

Я изменил интерпретатор Python, и это сработало. На клавиатуре я нажал ctrl + shift + p. В следующем окне я набрал python: выберите интерпретатор, и была возможность выбрать нужный интерпретатор. Отсюда я выбрал интерпретатор python, расположенный в моей виртуальной среде.
В данном случае это был мой ~DevFoldermyenvscriptspython.exe

Alan Solitar

This tutorial will cover some of the common errors that you encounter when upgrading your Python Django application to Django 2.

I recently upgraded a project from Django 1.11 to Django 2, and after upgrading I was bombarded with a number of different errors. I thought I’d provide a record of the errors I encountered and how I fixed them.

1. No module named ‘django.core.urlresolvers’

In Django, it’s pretty common to use the reverse function to get the path of a url from it’s name.

The problematic line was the following:

from django.core.urlresolvers import reverse

The urlresolver module was removed in Django 2 and can no longer be used. Instead, you can use the resolve function from the urls module as such:

from django.urls import reverse

Awesome! One down. Let’s continue.

2. missing 1 required positional argument: ‘on_delete’

Django 2 now requires the on_delete keyword to be specified for foreign key fields that are used in your models.

Previously, it would default to models.CASCADE.

In order to resolve this problem, you’re going to need to add the on_delete keyword arguement to every foreign key field. You also need to specify on_delete for the OneToOneField as well.

Your options for the on_delete keyword argument include:

  • models.CASCADE
  • models.PROTECT
  • models.SET_NULL
  • models.SET_DEFAULT
  • models.SET()
  • models.DO_NOTHING

You can read about the values you can pass to on_delete in the Django documentation.

Here’s an example of what specifying the on_delete keyword looks like:

my_field = models.ForeignKey(MyModel, on_delete=models.CASCADE)

OK, moving on to the next error.

3. Specifying a namespace in include() without providing an app_name

This error is caused by a change in the api for Django’s include function. We need to make sure the include function is being passed the correct arguments.

First, you need to go to the urls.py file you are trying to include and add a variable called app_name. You can add it anywhere in the file, but I’d recommend putting it at the top after your imports.

# my_app/urls.py  
#... your imports  

app_name="my_app"  

# ... rest of your code

Now, go to the urls.py file that includes the other file. You can now add the app_name you specified as the second parameter to the include function.

Here’s an example:

# urls.py  
re_path(r'^api/my_path', include('my_app.urls','my_app' )),

4. There are duplicate field(s) in ‘fieldsets[][]

In my case, there was an issue with my custom ModelAdmin class. It seems Django used to allow duplicate fields before, but now it does not.

Simply remove the duplicate fields from your custom admin class and you shouldn’t have any issues.

5. JSONField default should be a callable instead of an instance so that it’s not shared between all field instances.

This is an issue you will only encounter if you are using PostgreSQL along with the PostgreSQL JSONField.

Basically, Django only wants you to pass a callable as the default value for this field. This is to avoid the default being shared among all objects which could lead to problems in the case of modification.

If your default is {} , replace that with dict.

If your default is [], replace that with list.

6. request.user.is_authenticated() TypeError: ‘bool’ object is not callable

In Django 2, is_authenticated can no longer be called as a function. It is a boolean property and you need to call it like a property as follows:

request.user.is_authenticated

7. Optional Changes

You are probably using the url function from django.conf.urls. Your code probably looks something like the following:

from django.conf.urls import url  
url(r"^books/$", views.BookList.as_view()),

The url function is an alias to django.urls.re_path() and it’s likely to be deprecated according to the Django documentation.

I highly recommend changing to import re_path to avoid future issues when the function is in fact deprecated.

Rewritten with re_path , the example from above would become:

from django.urls import re_path  
re_path(r"^books/$", views.BookList.as_view()),

And that about sums it up. Hopefully this helped you upgrade to Django 2.

Also, if you are interested in reading more awesome articles about being a remote software developer, please consider subscribing to my mailing list.

Keep on coding!

The post Python Django 2 Upgrade Tutorial: Common Problems appeared first on Remote Dev Daily.

TheDoctor666

0 / 0 / 0

Регистрация: 20.09.2016

Сообщений: 11

1

03.02.2017, 21:07. Показов 7439. Ответов 10

Метки нет (Все метки)


Доброго времени суток
Я сейчас изучаю django и у меня ступор, не могу идти дальше

В папке моего проекта файл 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/', page.urls),
]

где, page название созданного приложения. Файл urls в page создал

когда запускаю сервер пишет ошибку:
NameError: name ‘page’ is not defined

Как быть, подскажите?

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



Programming

Эксперт

94731 / 64177 / 26122

Регистрация: 12.04.2006

Сообщений: 116,782

03.02.2017, 21:07

Ответы с готовыми решениями:

Django-cron выдает ошибку при запуске cron из терминала
Здравствуйте!

Помогите разобраться пожалуйста, нужно срочно запустить cron

Установила…

При переносе сайта на Django на другой хостинг пишет ошибку
Пробуем настроить на http://vetcao.ru, перенесли, пишет ошибку:

че-то там хостеры сделали…

СМА Hansa PG5510A412 s/n 04454930213108 после нескольких минут выдает ошибку, выдает ошибку
Hansa PG5510A412 s/n 04454930213108 отработала 2 месяца на этом же месте, магазин где брали…

Программа которая выдает платформу компьютера выдает ошибку
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics,…

10

__py__

in code we trust

133 / 162 / 12

Регистрация: 29.02.2016

Сообщений: 883

04.02.2017, 10:14

2

Туториал с офиц сайта?

Python
1
url(r'^blog/', include('blog.urls')),

goods заменить на page и модифицировать надо корректно. Как у меня. У меня всё работает. Левые туториалы выкинуть все.

Добавлено через 25 секунд
( кроме книг конечно)

Добавлено через 3 минуты
Есть же форум официального джанго, там всегда ответят если что.

Добавлено через 44 секунды
http://djbook.ru/forum/forum/2/ регистрируйтесь.



0



2739 / 2342 / 620

Регистрация: 19.03.2012

Сообщений: 8,832

04.02.2017, 10:47

3

Зачем ему регистрироваться где-то если ошибка очевидна + то, что ты пишешь запрещено правилами форума.

Цитата
Сообщение от TheDoctor666
Посмотреть сообщение

rl(r’^goods/’, page.urls),

Естественно будет ошибка, ты же не импортнул page, конечно питон орать будет на тебя.

Цитата
Сообщение от TheDoctor666
Посмотреть сообщение

NameError: name ‘page’ is not defined

Все очень очевидно



0



TheDoctor666

0 / 0 / 0

Регистрация: 20.09.2016

Сообщений: 11

04.02.2017, 11:02

 [ТС]

4

__py__,
пробовал как у вас, пишет
NameError: name ‘include’ is not defined

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

Добавлено через 1 минуту
alex925,
сколько пересмотрел примеров в интернете никто кроме

Python
1
2
from django.conf.urls import url
from django.contrib import admin

ничего не импортировал, да и пробовал
from pages include urls

не помогает



0



alex925

2739 / 2342 / 620

Регистрация: 19.03.2012

Сообщений: 8,832

04.02.2017, 11:41

5

TheDoctor666,

сколько пересмотрел примеров в интернете никто кроме
PythonВыделить код
1
2
from django.conf.urls import url
from django.contrib import admin
ничего не импортировал,

Не верю, сам видел кучу правильных примеров, в том числе и на оф сайте.

from pages include urls

А это что за монстор вообще?

Должно быть, что-то вроде этого

Python
1
from . import views

И из views берутся все твои вьюхи.

https://docs.djangoproject.com… utorial01/



0



__py__

in code we trust

133 / 162 / 12

Регистрация: 29.02.2016

Сообщений: 883

04.02.2017, 12:12

6

Цитата
Сообщение от TheDoctor666
Посмотреть сообщение

пробовал как у вас, пишет
NameError: name ‘include’ is not defined

всё в точности надо как здесь < только аргументы заменить в скобках > всё работает.

Python
1
2
3
4
5
6
7
from django.conf.urls import include, url
from django.contrib import admin
 
urlpatterns = [
    url(r'^blog/', include('blog.urls')),
    url(r'^admin/', admin.site.urls),
]

Добавлено через 4 минуты

Цитата
Сообщение от TheDoctor666
Посмотреть сообщение

пользуюсь книгой, но она под старую версию джанго,

офиц туториал есть, зачем старый запорожец, к которому даже деталей не найти если сломается?

Добавлено через 7 минут
http://djbook.ru/rel1.9/intro/ и вот перевод туториала официального и он от 1.10 не отличается особо ничем.

Добавлено через 7 минут

Цитата
Сообщение от alex925
Посмотреть сообщение

Должно быть, что-то вроде этого
Python
Выделить код
1
from . import views
И из views берутся все твои вьюхи.

Отсюда у многих новичков путаница, путают 2 одинаково названных файла url.py, один из которых в директории mysite лежит.

Добавлено через 1 минуту
Тот , что с вьюхой в его собственном приложении отдельно создаётся.



0



2739 / 2342 / 620

Регистрация: 19.03.2012

Сообщений: 8,832

04.02.2017, 12:19

7

__py__, это код с оф сайта, если честно мне джанга вообще побоку, не нравится она мне.



0



0 / 0 / 0

Регистрация: 20.09.2016

Сообщений: 11

05.02.2017, 01:57

 [ТС]

8

__py__
спасибо, все было в from django.conf.urls import include, url
долбанный инклюд, в книге не было!
все заработало, но появились другие ошибки, думаю выкину эту книгу, я меньше обучаюсь по делу, чем ошибки решаю мелочные

alex925
если она вам по боку, то зачем выдаете ненужные советы?



0



Ennjin

05.02.2017, 08:16

Не по теме:

Цитата
Сообщение от TheDoctor666
Посмотреть сообщение

все заработало, но появились другие ошибки

Забудте про джангу, изучайте фласк



0



in code we trust

133 / 162 / 12

Регистрация: 29.02.2016

Сообщений: 883

05.02.2017, 08:32

10

Цитата
Сообщение от Ennjin
Посмотреть сообщение

Забудте про джангу, изучайте фласк

Flask переводится как фляга — это означает, что без бутылки не разберёшься
Я тоже хотел начать с flask, в итоге изучаю django и считаю, что правильнее в таком порядке изучать фреймворки:
1.django
2.flask
3… любой другой?



0



2739 / 2342 / 620

Регистрация: 19.03.2012

Сообщений: 8,832

05.02.2017, 11:40

11

Цитата
Сообщение от Ennjin
Посмотреть сообщение

Забудте про джангу, изучайте фласк

flask крутой, но TheDoctor666 его объективно не потянет, тем более в сети хорошего туториала нет. А вообще согласен)

TheDoctor666, ни каких вредных советов я тебе не давал. Я тебе указал на твою грубейшую ошибку и все. Для того, чтобы ее увидеть не нужно писать на джанге.



0



Понравилась статья? Поделить с друзьями:

Читайте также:

  • Frmt read ошибка пионер
  • Frm 40505 oracle error unable to perform query
  • Frija error 102
  • Friendly hud error
  • Friday the 13th the game ошибка подключения

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии