Я создаю простого текстового редактора путем установки contentEditable=true
на отделении (так или иначе я думаю, что текстовая область ведет себя таким же образом) и у меня есть некоторые проблемы с клавишей Tab.
То, что я хочу, - то, что, когда пользователь нажимает клавишу Tab, фокус остается на отделении, и символ табуляции добавляется к тексту.
Я решил первую часть проблемы путем вызова preventDefault()
на объекте-событии на keydown и теперь отделение не теряет фокус, но я не знаю, почему я не могу вставить символ.
Код сущности для символа вкладки 	
но если я пытаюсь добавить, что эта строка к innerHTML Firefox заменяет его простым пространством (нет
просто пробел). Я также попробовал \t
но результатом является то же.
Таким образом, мой вопрос, как я могу вставить символ табуляции в текст?
Прямо из комментариев в settings.py...
MEDIA _ ROOT
- абсолютный путь к каталогу, в котором хранятся носители, например /home/media/media.lawrence.com/
.
MEDIA _ URL
- это URL-адрес, который обрабатывает носитель, обслуживаемый с помощью MEDIA _ ROOT
. При наличии компонента пути обязательно используйте завершающую косую черту (в других случаях необязательно). Примеры: « http://media.lawrence.com », « http://example.com/media/ ».
Итак, перефразировать эти... MEDIA _ ROOT
- это место физического размещения файлов в системе, а MEDIA _ URL
- место сопоставления этих файлов. При разработке это не всегда может быть доступно, и в большинстве случаев среда разработки и производственная среда не совпадают, и это то, что вам придется вернуться и изменить. Другое дело, что это НЕ ХОРОШАЯ ПРАКТИКА, когда Джанго был разработан НЕ для обслуживания статического контента для вас.
Если вы собираетесь использовать это в разработке, я предлагаю использовать метод , ограничивающий его DEBUG = True . Указание Django обслуживать статический контент из временного места во время разработки, когда для DEBUG
установлено значение True
, является гораздо лучшей и более безопасной практикой. Вы НЕ собираетесь вводить сайт в производство с помощью DEBUG
, верно? Ну, по крайней мере, не стоит.
Вот как я его реализовал:
settings.py:
STATIC_DOC_ROOT = os.path.join(os.getcwd(), 'site_media')
urls.py:
from django.conf import settings
## debug stuff to serve static media
if settings.DEBUG:
urlpatterns += patterns('',
(r'^site_media/(?P<path>.*)$', 'django.views.static.serve',
{'document_root': settings.STATIC_DOC_ROOT}),
)
Таким образом, любой проект, над которым я работаю, имеет каталог site _ media
внутри него со всеми необходимыми носителями. В dev он является автономным, и мне не нужно переворачивать какие-либо биты в настройках, кроме DEBUG
, что я бы делал в любом случае.
Посмотрите на использование селектора суррогата + суррогата. Что вместе со связующим на десериализации должны сделать трюк.
-121--3586979- Причина, по которой вы видите только простой космос, заключается в том, что последовательности символов пробела Если вы хотите, чтобы символ табуляции отображался так, как вы ожидаете, вы должны поместить его в что-то вроде элемента < pre >
, который отображает пробел как в исходном HTML, или внутри элемента с пробелом: pre
set
табуляции и пробелы сворачиваются в html до одного пробела, если только в теге
или в его стиле
white-space: pre