C# и Java рассматриваются как более чистые замены для C++ во многих прикладных областях, таким образом, часто существует "миграция" от одного до другого - который является, почему существуют доступные книги.
Python и C++ являются совсем другими зверями, и хотя их оба считают языками программирования общего назначения, они предназначены к различным концам спектра программирования.
не пытаются записать C++ в Python; на самом деле попытайтесь забыть C++ при записи Python. Я нашел, что он намного лучше изучил общие парадигмы Python и методы и применил их к моим программам C++, чем наоборот.
in settings.py, you should never name the project 'myproj' explicitely. In INSTALLED_APPS
, just use 'myapp'. Also, you should have this :
TEMPLATE_LOADERS = (
'django.template.loaders.app_directories.load_template_source',
)
And be sure to have an __init__.py
in the myapp
folder as well as in templatetags
.
Use manage.py shell
then from myapp.templatetags import myapp_tags
to find out if theres any python error in the myapp_tags.py file.
Also, be sure that myapp_tags.py file name doesnt conflicts with another folder/file in your project.
Hope this helps.
The problem is that nyapp_tags
is not at the top level of an installed project. If you put myproj.myapp.templatetags
in INSTALLED_APPS
, you should be fine.
Одна вещь, которая меня сбила с толку, - это то, что магический импорт тегов шаблонов обходит автоматическую перезагрузку сервера разработки.
Если следующее работает в оболочке manage.py
>>> from django.templatetags import myapp_tags
>>>
, тогда все действительно работает, и вам просто нужно перезагрузить сервер разработки. Если, с другой стороны, вы получите ImportError
, значит, что-то не так, и вам следует проверить INSTALLED_APPS
, что у вас есть файл __ init __. Py в каталоге templatetags и все другие вещи, предложенные в других ответах.
Это, вероятно, применимо только к небольшой части людей, у которых возникают проблемы с загрузкой тегов шаблонов, но это второй раз, когда я пришел к этому вопросу за столько недель и в обоих случаях требовалось перезапустить сервер разработки, чтобы все заработало.