File tree Expand file tree Collapse file tree 3 files changed +26
-1
lines changed Expand file tree Collapse file tree 3 files changed +26
-1
lines changed Original file line number Diff line number Diff line change 77 < body >
88 < h1 > Django Rest Frameworks Docs</ h1 >
99
10+ {% block content %}{% endblock %}
11+
1012 </ body >
1113</ html >
Original file line number Diff line number Diff line change 11{% extends "drfdocs/base.html" %}
2+
3+ {% block content %}
4+ < ul >
5+ {% for view in views %}
6+ < li > {{ view }}</ li >
7+ {% endfor %}
8+ </ ul >
9+ {% endblock %}
Original file line number Diff line number Diff line change 1+ from django .conf import settings
12from django .views .generic .base import TemplateView
3+ from django .core .urlresolvers import RegexURLResolver , RegexURLPattern
24
35
46class DRFDocsView (TemplateView ):
57
8+ root_urlconf = __import__ (settings .ROOT_URLCONF )
69 template_name = "drfdocs/home.html"
10+ VIEW_NAMES = []
11+
12+ def get_all_view_names (self , urlpatterns ):
13+ for pattern in urlpatterns :
14+ if isinstance (pattern , RegexURLResolver ):
15+ self .get_all_view_names (pattern .url_patterns )
16+ elif isinstance (pattern , RegexURLPattern ):
17+ view_name = pattern .callback .__name__
18+ self .VIEW_NAMES .append (view_name )
19+ return self .VIEW_NAMES
720
821 def get_context_data (self , ** kwargs ):
22+ self .VIEW_NAMES = []
923 context = super (DRFDocsView , self ).get_context_data (** kwargs )
10- context ['example' ] = True
24+ all_urlpatterns = self .root_urlconf .urls .urlpatterns
25+ context ['views' ] = self .get_all_view_names (all_urlpatterns )
1126 return context
You can’t perform that action at this time.
0 commit comments