アプリケーションでサポートされているすべての URL のコードからドキュメントを自動的に作成しようとしています。完全にクライアント側の MVC を使用しているため、サポートされている各 URL は基本的に UI 用の REST API です。これらの URL からドキュメントを生成する簡単な方法はありますか?
私は今のところこの小さなモジュールを書いていますが、これよりも良い方法を探しています。似たようなものがすでに存在する場合、車輪を再発明したくありません。
更新: 内部消費用ではなく、Web サイトの消費者に公開ドキュメントを提供することを目的としていることに注意してください。この点に関して、各 URL について次のことを文書化する必要があります。
単純にホームページにリダイレクトする (^$) のような特定の URL は文書化すべきではないため、何らかの除外メカニズムも必要になります。
from django.core.management.base import BaseCommand
from django.conf import settings
class Command(BaseCommand):
''' Generates documentation for the URLs. For each URL includes the documentation from
the callback implementing the URL and prints the default arguments along with the URL pattern and name'''
def handle(self, *args, **options):
url_module = None
exec 'import '+settings.ROOT_URLCONF+'; url_module='+settings.ROOT_URLCONF
doc = file('doc.html','w')
doc.write("<table border=1 cellspacing=0 cellpadding=5>")
doc.write("<tr><th>URL Pattern<th>Name<th>Documentation<th>Parameters")
for x in url_module.urlpatterns:
doc.write("<tr>")
doc.write("<td>")
doc.write(x._regex)
doc.write("<td>")
doc.write(str(x.name))
try:
documentation = str(x.callback.__doc__)
doc.write("<td><pre>")
doc.write(documentation)
doc.write("</pre>")
except:
doc.write("<td> Unable to find module")
doc.write("<td>")
doc.write(str(x.default_args))
doc.write("</table>")
doc.close()