8

htmlおよびDjangoテンプレートファイルの編集にKomodoEdit5.2を使用しています。テンプレートの最初のタグの最初の{%block%}領域内に常に単一の構文エラーが表示されます。

例えば:

{% extends "base.html" %}
{% load i18n %}

{% block title %}Hello{% endblock %}

{% block content %}
    <p>Hello</p> <-- Syntax error on this single line
    <p>Other lines have no errors</p>
{% endblock %}

{% block footer %}
    <p>No errors here</p>
{% endblock %}

与えられた構文エラーは次のとおりです。

Info: <head> previously mentioned

<head>エラーはベーステンプレートと子テンプレートで発生するため、タグとは関係がないことを知っています(IDEは、子の場合などにベーステンプレートを処理するほどスマートではありません)。私のhtmlタグは適切に閉じられ、すべてがXHTMLstrictに対して検証されます。

このフォーラムの投稿では、同様の問題について言及していますが、解決策は提供されていません(Smarty構文の強調表示に固有の場合があります)。

このエラーを解決する(または表示されないようにする)方法についてのアイデアはありますか?

4

5 に答える 5

6

はい、これは修正できますが、実際にはかなり醜い方法です。

これはトラッカー# 77251にあるバグであることを指摘しておく必要があります(編集:これはKomodo 6.1.0で修正されています)。そのバグを見て、実際にいつ修正されるかを見つけることができます。

赤い波線を止めることに関して-これは、DjangoテンプレートHTMLのPython言語ファイルを手動で編集することで実行できます。編集するファイルはで、はkoDjango_URL_Language.pyにあります..ActiveState Komodo Edit 5\lib\mozilla\extensions\django_language@ActiveState.com\components

次のオーバーライドメソッドを次のように追加しますclass KoDjangoLanguage

def get_linter(self):
    return None

これは、djangoテンプレートファイルを.django.htmlとして保存していることを前提としていることに注意してください(保存していない場合は、テンプレートタグ構文の色付けが提供されます。これはちょっといいです)。ファイルを編集した後、Komodoを保存してリロードすると、問題は解決するはずです。

私が理解していることから、Komodoのバージョンもアップグレードするたびに、このファイルを再編集する必要があります。願わくば、この問題全体が修正され、みんなのお気に入りのIDEでのDjangoのサポートが改善されることを願っています。

于 2010-01-11T02:41:47.880 に答える
2

主にDjangoプロジェクトで作業している場合は、[設定]> [ファイルの関連付け]を編集し、*。htmlの関連付けを「Django」に変更することで、Komodoの*.htmlファイルのデフォルトの処理を変更できます(たとえば、通常は* .djangoの場合) .html)。これにより、すべてのテンプレートファイルの名前を変更する必要がなくなります。

波線の赤い線を取り除くために、カスタムTidy構成ファイルを使用します。これは、構成ファイルチューザーの[設定]>[言語]>[HTML]で指定できます。このファイルの内容は単純です。

show-warnings:n

正当なHTML警告も抑制されるため、これはちょっとしたハックです。ただし、Komodo / TidyがDjangoテンプレートタグをネイティブにサポートするまでは、機能します。

于 2010-01-17T14:29:54.603 に答える
2

HTML Tidy構成をいじるのではなく、波線を隠す方法を探している場合は、次のことを試してください。[設定]>[フォントと色]で、[インジケーター]タブを選択します。インジケーターセレクターには、「リンターエラー」という名前のエントリがあります。スタイル「hidden」を割り当てると、波線が非表示になります。ステータスラインには引き続きリンター情報が表示されます。これは、Linux上のKomodoEdit5.2.4でテストされています。

于 2010-03-18T12:32:51.593 に答える
1

テンプレートファイルの名前を*.django.htmlに変更し、ジェネリックビューを使用する場合と同様に、djangoは* _list.htmlのみを検索するため、TemplateDoesNotExist例外が発生する可能性があります。

{% extends *.html %}編集:さらに、すべてのテンプレートの名前を変更するときは、すべての名前を{% extends *.django.html %}適切に変更することを忘れないでください 。

于 2010-04-27T09:40:16.520 に答える
0

Djangoテンプレートを編集するときは、HTMLエラーチェックを常に無効にします。これは、ご存知のとおり、完全に有効なHTMLではないためです。これがKomodoEditで実行できるかどうかはわかりませんが、Komodo IDEで実行できることはわかっているので、この点では類似していると思われるかもしれません。とにかく、解決策は少し面倒です。編集するファイルごとに無効にする必要があります(これをグローバルに行う方法はわかりません)...

現在、仕事用のPCを使用していませんが、メモリが役立つ場合は、ウィンドウフレームの下部にアイコンがあり、右クリックしてプロパティを編集できます。そこに深く埋もれているので、HTML構文チェックを無効にするオプションがあるはずです。

オプションが見つからない場合はお知らせください。ギャップを埋めようとします。

于 2010-01-11T02:26:07.077 に答える