Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!DOCTYPE html>
- <!-- saved from url=(0173)http://localhost:8000/fenixAuthHandler/?code=3d9d1a63e25003b5903298065368d1049bfbc930ec85e12452d8290825759860e865e18c45113fd38a8a9dc46dfe65488a94328ec3463a385965c0658ed2953f -->
- <html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <meta name="robots" content="NONE,NOARCHIVE">
- <title>AttributeError at /fenixAuthHandler/</title>
- <style type="text/css">
- html * { padding:0; margin:0; }
- body * { padding:10px 20px; }
- body * * { padding:0; }
- body { font:small sans-serif; }
- body>div { border-bottom:1px solid #ddd; }
- h1 { font-weight:normal; }
- h2 { margin-bottom:.8em; }
- h2 span { font-size:80%; color:#666; font-weight:normal; }
- h3 { margin:1em 0 .5em 0; }
- h4 { margin:0 0 .5em 0; font-weight: normal; }
- code, pre { font-size: 100%; white-space: pre-wrap; }
- table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
- tbody td, tbody th { vertical-align:top; padding:2px 3px; }
- thead th {
- padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
- font-weight:normal; font-size:11px; border:1px solid #ddd;
- }
- tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
- table.vars { margin:5px 0 2px 40px; }
- table.vars td, table.req td { font-family:monospace; }
- table td.code { width:100%; }
- table td.code pre { overflow:hidden; }
- table.source th { color:#666; }
- table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
- ul.traceback { list-style-type:none; color: #222; }
- ul.traceback li.frame { padding-bottom:1em; color:#666; }
- ul.traceback li.user { background-color:#e0e0e0; color:#000 }
- div.context { padding:10px 0; overflow:hidden; }
- div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
- div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
- div.context ol li pre { display:inline; }
- div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
- div.context ol.context-line li span { position:absolute; right:32px; }
- .user div.context ol.context-line li { background-color:#bbb; color:#000; }
- .user div.context ol li { color:#666; }
- div.commands { margin-left: 40px; }
- div.commands a { color:#555; text-decoration:none; }
- .user div.commands a { color: black; }
- #summary { background: #ffc; }
- #summary h2 { font-weight: normal; color: #666; }
- #explanation { background:#eee; }
- #template, #template-not-exist { background:#f6f6f6; }
- #template-not-exist ul { margin: 0 0 10px 20px; }
- #template-not-exist .postmortem-section { margin-bottom: 3px; }
- #unicode-hint { background:#eee; }
- #traceback { background:#eee; }
- #requestinfo { background:#f6f6f6; padding-left:120px; }
- #summary table { border:none; background:transparent; }
- #requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
- #requestinfo h3 { margin-bottom:-1em; }
- .error { background: #ffc; }
- .specific { color:#cc3300; font-weight:bold; }
- h2 span.commands { font-size:.7em;}
- span.commands a:link {color:#5E5694;}
- pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
- .append-bottom { margin-bottom: 10px; }
- </style>
- <script type="text/javascript">
- //<!--
- function getElementsByClassName(oElm, strTagName, strClassName){
- // Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
- var arrElements = (strTagName == "*" && document.all)? document.all :
- oElm.getElementsByTagName(strTagName);
- var arrReturnElements = new Array();
- strClassName = strClassName.replace(/\-/g, "\\-");
- var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
- var oElement;
- for(var i=0; i<arrElements.length; i++){
- oElement = arrElements[i];
- if(oRegExp.test(oElement.className)){
- arrReturnElements.push(oElement);
- }
- }
- return (arrReturnElements)
- }
- function hideAll(elems) {
- for (var e = 0; e < elems.length; e++) {
- elems[e].style.display = 'none';
- }
- }
- window.onload = function() {
- hideAll(getElementsByClassName(document, 'table', 'vars'));
- hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
- hideAll(getElementsByClassName(document, 'ol', 'post-context'));
- hideAll(getElementsByClassName(document, 'div', 'pastebin'));
- }
- function toggle() {
- for (var i = 0; i < arguments.length; i++) {
- var e = document.getElementById(arguments[i]);
- if (e) {
- e.style.display = e.style.display == 'none' ? 'block': 'none';
- }
- }
- return false;
- }
- function varToggle(link, id) {
- toggle('v' + id);
- var s = link.getElementsByTagName('span')[0];
- var uarr = String.fromCharCode(0x25b6);
- var darr = String.fromCharCode(0x25bc);
- s.textContent = s.textContent == uarr ? darr : uarr;
- return false;
- }
- function switchPastebinFriendly(link) {
- s1 = "Switch to copy-and-paste view";
- s2 = "Switch back to interactive view";
- link.textContent = link.textContent.trim() == s1 ? s2: s1;
- toggle('browserTraceback', 'pastebinTraceback');
- return false;
- }
- //-->
- </script>
- </head>
- <body>
- <div id="summary">
- <h1>AttributeError at /fenixAuthHandler/</h1>
- <pre class="exception_value">'FenixEduClient' object has no attribute 'refresh_token'</pre>
- <table class="meta">
- <tbody><tr>
- <th>Request Method:</th>
- <td>GET</td>
- </tr>
- <tr>
- <th>Request URL:</th>
- <td>http://localhost:8000/fenixAuthHandler/?code=3d9d1a63e25003b5903298065368d1049bfbc930ec85e12452d8290825759860e865e18c45113fd38a8a9dc46dfe65488a94328ec3463a385965c0658ed2953f</td>
- </tr>
- <tr>
- <th>Django Version:</th>
- <td>1.11</td>
- </tr>
- <tr>
- <th>Exception Type:</th>
- <td>AttributeError</td>
- </tr>
- <tr>
- <th>Exception Value:</th>
- <td><pre>'FenixEduClient' object has no attribute 'refresh_token'</pre></td>
- </tr>
- <tr>
- <th>Exception Location:</th>
- <td>C:\Users\Tiago\AppData\Local\Programs\Python\Python36\lib\site-packages\fenixedu\__init__.py in _refresh_access_token, line 68</td>
- </tr>
- <tr>
- <th>Python Executable:</th>
- <td>C:\Users\Tiago\AppData\Local\Programs\Python\Python36\python.exe</td>
- </tr>
- <tr>
- <th>Python Version:</th>
- <td>3.6.3</td>
- </tr>
- <tr>
- <th>Python Path:</th>
- <td><pre>['C:\\Users\\Tiago\\Desktop\\FenixEdu-Django-Auth-Demo-master',
- 'C:\\Users\\Tiago\\AppData\\Local\\Programs\\Python\\Python36\\python36.zip',
- 'C:\\Users\\Tiago\\AppData\\Local\\Programs\\Python\\Python36\\DLLs',
- 'C:\\Users\\Tiago\\AppData\\Local\\Programs\\Python\\Python36\\lib',
- 'C:\\Users\\Tiago\\AppData\\Local\\Programs\\Python\\Python36',
- 'C:\\Users\\Tiago\\AppData\\Local\\Programs\\Python\\Python36\\lib\\site-packages']</pre></td>
- </tr>
- <tr>
- <th>Server time:</th>
- <td>Fri, 19 Jan 2018 21:30:28 +0000</td>
- </tr>
- </tbody></table>
- </div>
- <div id="traceback">
- <h2>Traceback <span class="commands"><a href="http://localhost:8000/fenixAuthHandler/?code=3d9d1a63e25003b5903298065368d1049bfbc930ec85e12452d8290825759860e865e18c45113fd38a8a9dc46dfe65488a94328ec3463a385965c0658ed2953f#" onclick="return switchPastebinFriendly(this);">
- Switch to copy-and-paste view</a></span>
- </h2>
- <div id="browserTraceback">
- <ul class="traceback">
- <li class="frame django">
- <code>C:\Users\Tiago\AppData\Local\Programs\Python\Python36\lib\site-packages\django\core\handlers\exception.py</code> in <code>inner</code>
- <div class="context" id="c2031485278280">
- <ol start="34" class="pre-context" id="pre2031485278280" style="display: none;">
- <li onclick="toggle('pre2031485278280', 'post2031485278280')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
- <li onclick="toggle('pre2031485278280', 'post2031485278280')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
- <li onclick="toggle('pre2031485278280', 'post2031485278280')"><pre> can rely on getting a response instead of an exception.</pre></li>
- <li onclick="toggle('pre2031485278280', 'post2031485278280')"><pre> """</pre></li>
- <li onclick="toggle('pre2031485278280', 'post2031485278280')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
- <li onclick="toggle('pre2031485278280', 'post2031485278280')"><pre> def inner(request):</pre></li>
- <li onclick="toggle('pre2031485278280', 'post2031485278280')"><pre> try:</pre></li>
- </ol>
- <ol start="41" class="context-line">
- <li onclick="toggle('pre2031485278280', 'post2031485278280')"><pre> response = get_response(request)</pre> <span>...</span></li></ol>
- <ol start="42" class="post-context" id="post2031485278280" style="display: none;">
- <li onclick="toggle('pre2031485278280', 'post2031485278280')"><pre> except Exception as exc:</pre></li>
- <li onclick="toggle('pre2031485278280', 'post2031485278280')"><pre> response = response_for_exception(request, exc)</pre></li>
- <li onclick="toggle('pre2031485278280', 'post2031485278280')"><pre> return response</pre></li>
- <li onclick="toggle('pre2031485278280', 'post2031485278280')"><pre> return inner</pre></li>
- <li onclick="toggle('pre2031485278280', 'post2031485278280')"><pre></pre></li>
- <li onclick="toggle('pre2031485278280', 'post2031485278280')"><pre></pre></li>
- </ol>
- </div>
- <div class="commands">
- <a href="http://localhost:8000/fenixAuthHandler/?code=3d9d1a63e25003b5903298065368d1049bfbc930ec85e12452d8290825759860e865e18c45113fd38a8a9dc46dfe65488a94328ec3463a385965c0658ed2953f#" onclick="return varToggle(this, '2031485278280')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v2031485278280" style="display: none;">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>exc</td>
- <td class="code"><pre>AttributeError("'FenixEduClient' object has no attribute 'refresh_token'",)</pre></td>
- </tr>
- <tr>
- <td>get_response</td>
- <td class="code"><pre><bound method BaseHandler._get_response of <django.core.handlers.wsgi.WSGIHandler object at 0x000001D8FCE41320>></pre></td>
- </tr>
- <tr>
- <td>request</td>
- <td class="code"><pre><WSGIRequest: GET '/fenixAuthHandler/?code=3d9d1a63e25003b5903298065368d1049bfbc930ec85e12452d8290825759860e865e18c45113fd38a8a9dc46dfe65488a94328ec3463a385965c0658ed2953f'></pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li class="frame django">
- <code>C:\Users\Tiago\AppData\Local\Programs\Python\Python36\lib\site-packages\django\core\handlers\base.py</code> in <code>_get_response</code>
- <div class="context" id="c2031485277064">
- <ol start="180" class="pre-context" id="pre2031485277064" style="display: none;">
- <li onclick="toggle('pre2031485277064', 'post2031485277064')"><pre> break</pre></li>
- <li onclick="toggle('pre2031485277064', 'post2031485277064')"><pre></pre></li>
- <li onclick="toggle('pre2031485277064', 'post2031485277064')"><pre> if response is None:</pre></li>
- <li onclick="toggle('pre2031485277064', 'post2031485277064')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
- <li onclick="toggle('pre2031485277064', 'post2031485277064')"><pre> try:</pre></li>
- <li onclick="toggle('pre2031485277064', 'post2031485277064')"><pre> response = wrapped_callback(request, *callback_args, **callback_kwargs)</pre></li>
- <li onclick="toggle('pre2031485277064', 'post2031485277064')"><pre> except Exception as e:</pre></li>
- </ol>
- <ol start="187" class="context-line">
- <li onclick="toggle('pre2031485277064', 'post2031485277064')"><pre> response = self.process_exception_by_middleware(e, request)</pre> <span>...</span></li></ol>
- <ol start="188" class="post-context" id="post2031485277064" style="display: none;">
- <li onclick="toggle('pre2031485277064', 'post2031485277064')"><pre></pre></li>
- <li onclick="toggle('pre2031485277064', 'post2031485277064')"><pre> # Complain if the view returned None (a common error).</pre></li>
- <li onclick="toggle('pre2031485277064', 'post2031485277064')"><pre> if response is None:</pre></li>
- <li onclick="toggle('pre2031485277064', 'post2031485277064')"><pre> if isinstance(callback, types.FunctionType): # FBV</pre></li>
- <li onclick="toggle('pre2031485277064', 'post2031485277064')"><pre> view_name = callback.__name__</pre></li>
- <li onclick="toggle('pre2031485277064', 'post2031485277064')"><pre> else: # CBV</pre></li>
- </ol>
- </div>
- <div class="commands">
- <a href="http://localhost:8000/fenixAuthHandler/?code=3d9d1a63e25003b5903298065368d1049bfbc930ec85e12452d8290825759860e865e18c45113fd38a8a9dc46dfe65488a94328ec3463a385965c0658ed2953f#" onclick="return varToggle(this, '2031485277064')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v2031485277064" style="display: none;">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>callback</td>
- <td class="code"><pre><function handle_fenix_auth at 0x000001D8FD1B39D8></pre></td>
- </tr>
- <tr>
- <td>callback_args</td>
- <td class="code"><pre>()</pre></td>
- </tr>
- <tr>
- <td>callback_kwargs</td>
- <td class="code"><pre>{}</pre></td>
- </tr>
- <tr>
- <td>middleware_method</td>
- <td class="code"><pre><bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x000001D8FCD0EE80>></pre></td>
- </tr>
- <tr>
- <td>request</td>
- <td class="code"><pre><WSGIRequest: GET '/fenixAuthHandler/?code=3d9d1a63e25003b5903298065368d1049bfbc930ec85e12452d8290825759860e865e18c45113fd38a8a9dc46dfe65488a94328ec3463a385965c0658ed2953f'></pre></td>
- </tr>
- <tr>
- <td>resolver</td>
- <td class="code"><pre><RegexURLResolver 'FenixAuthDemo.urls' (None:None) ^/></pre></td>
- </tr>
- <tr>
- <td>resolver_match</td>
- <td class="code"><pre>ResolverMatch(func=demo_app.views.handle_fenix_auth, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
- </tr>
- <tr>
- <td>response</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>self</td>
- <td class="code"><pre><django.core.handlers.wsgi.WSGIHandler object at 0x000001D8FCE41320></pre></td>
- </tr>
- <tr>
- <td>wrapped_callback</td>
- <td class="code"><pre><function handle_fenix_auth at 0x000001D8FD1B39D8></pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li class="frame django">
- <code>C:\Users\Tiago\AppData\Local\Programs\Python\Python36\lib\site-packages\django\core\handlers\base.py</code> in <code>_get_response</code>
- <div class="context" id="c2031483825864">
- <ol start="178" class="pre-context" id="pre2031483825864" style="display: none;">
- <li onclick="toggle('pre2031483825864', 'post2031483825864')"><pre> response = middleware_method(request, callback, callback_args, callback_kwargs)</pre></li>
- <li onclick="toggle('pre2031483825864', 'post2031483825864')"><pre> if response:</pre></li>
- <li onclick="toggle('pre2031483825864', 'post2031483825864')"><pre> break</pre></li>
- <li onclick="toggle('pre2031483825864', 'post2031483825864')"><pre></pre></li>
- <li onclick="toggle('pre2031483825864', 'post2031483825864')"><pre> if response is None:</pre></li>
- <li onclick="toggle('pre2031483825864', 'post2031483825864')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
- <li onclick="toggle('pre2031483825864', 'post2031483825864')"><pre> try:</pre></li>
- </ol>
- <ol start="185" class="context-line">
- <li onclick="toggle('pre2031483825864', 'post2031483825864')"><pre> response = wrapped_callback(request, *callback_args, **callback_kwargs)</pre> <span>...</span></li></ol>
- <ol start="186" class="post-context" id="post2031483825864" style="display: none;">
- <li onclick="toggle('pre2031483825864', 'post2031483825864')"><pre> except Exception as e:</pre></li>
- <li onclick="toggle('pre2031483825864', 'post2031483825864')"><pre> response = self.process_exception_by_middleware(e, request)</pre></li>
- <li onclick="toggle('pre2031483825864', 'post2031483825864')"><pre></pre></li>
- <li onclick="toggle('pre2031483825864', 'post2031483825864')"><pre> # Complain if the view returned None (a common error).</pre></li>
- <li onclick="toggle('pre2031483825864', 'post2031483825864')"><pre> if response is None:</pre></li>
- <li onclick="toggle('pre2031483825864', 'post2031483825864')"><pre> if isinstance(callback, types.FunctionType): # FBV</pre></li>
- </ol>
- </div>
- <div class="commands">
- <a href="http://localhost:8000/fenixAuthHandler/?code=3d9d1a63e25003b5903298065368d1049bfbc930ec85e12452d8290825759860e865e18c45113fd38a8a9dc46dfe65488a94328ec3463a385965c0658ed2953f#" onclick="return varToggle(this, '2031483825864')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v2031483825864" style="display: none;">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>callback</td>
- <td class="code"><pre><function handle_fenix_auth at 0x000001D8FD1B39D8></pre></td>
- </tr>
- <tr>
- <td>callback_args</td>
- <td class="code"><pre>()</pre></td>
- </tr>
- <tr>
- <td>callback_kwargs</td>
- <td class="code"><pre>{}</pre></td>
- </tr>
- <tr>
- <td>middleware_method</td>
- <td class="code"><pre><bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x000001D8FCD0EE80>></pre></td>
- </tr>
- <tr>
- <td>request</td>
- <td class="code"><pre><WSGIRequest: GET '/fenixAuthHandler/?code=3d9d1a63e25003b5903298065368d1049bfbc930ec85e12452d8290825759860e865e18c45113fd38a8a9dc46dfe65488a94328ec3463a385965c0658ed2953f'></pre></td>
- </tr>
- <tr>
- <td>resolver</td>
- <td class="code"><pre><RegexURLResolver 'FenixAuthDemo.urls' (None:None) ^/></pre></td>
- </tr>
- <tr>
- <td>resolver_match</td>
- <td class="code"><pre>ResolverMatch(func=demo_app.views.handle_fenix_auth, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
- </tr>
- <tr>
- <td>response</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>self</td>
- <td class="code"><pre><django.core.handlers.wsgi.WSGIHandler object at 0x000001D8FCE41320></pre></td>
- </tr>
- <tr>
- <td>wrapped_callback</td>
- <td class="code"><pre><function handle_fenix_auth at 0x000001D8FD1B39D8></pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li class="frame user">
- <code>C:\Users\Tiago\Desktop\FenixEdu-Django-Auth-Demo-master\demo_app\views.py</code> in <code>handle_fenix_auth</code>
- <div class="context" id="c2031483823048">
- <ol start="13" class="pre-context" id="pre2031483823048" style="display: none;">
- <li onclick="toggle('pre2031483823048', 'post2031483823048')"><pre> else:</pre></li>
- <li onclick="toggle('pre2031483823048', 'post2031483823048')"><pre> return HttpResponseRedirect(fenixedu_client.get_authentication_url())</pre></li>
- <li onclick="toggle('pre2031483823048', 'post2031483823048')"><pre></pre></li>
- <li onclick="toggle('pre2031483823048', 'post2031483823048')"><pre></pre></li>
- <li onclick="toggle('pre2031483823048', 'post2031483823048')"><pre>def handle_fenix_auth(request):</pre></li>
- <li onclick="toggle('pre2031483823048', 'post2031483823048')"><pre> code = request.GET.get('code', None)</pre></li>
- <li onclick="toggle('pre2031483823048', 'post2031483823048')"><pre> if code is not None and not request.user.is_authenticated():</pre></li>
- </ol>
- <ol start="20" class="context-line">
- <li onclick="toggle('pre2031483823048', 'post2031483823048')"><pre> user = authenticate(request=request, client=fenixedu_client, code=code)</pre> <span>...</span></li></ol>
- <ol start="21" class="post-context" id="post2031483823048" style="display: none;">
- <li onclick="toggle('pre2031483823048', 'post2031483823048')"><pre> if user is not None:</pre></li>
- <li onclick="toggle('pre2031483823048', 'post2031483823048')"><pre> login(request, user)</pre></li>
- <li onclick="toggle('pre2031483823048', 'post2031483823048')"><pre> return HttpResponseRedirect(reverse('home'))</pre></li>
- <li onclick="toggle('pre2031483823048', 'post2031483823048')"><pre> return HttpResponse('An error occured while trying to authenticate you with FenixEdu', status=500)</pre></li>
- </ol>
- </div>
- <div class="commands">
- <a href="http://localhost:8000/fenixAuthHandler/?code=3d9d1a63e25003b5903298065368d1049bfbc930ec85e12452d8290825759860e865e18c45113fd38a8a9dc46dfe65488a94328ec3463a385965c0658ed2953f#" onclick="return varToggle(this, '2031483823048')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v2031483823048" style="display: none;">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>code</td>
- <td class="code"><pre>'3d9d1a63e25003b5903298065368d1049bfbc930ec85e12452d8290825759860e865e18c45113fd38a8a9dc46dfe65488a94328ec3463a385965c0658ed2953f'</pre></td>
- </tr>
- <tr>
- <td>request</td>
- <td class="code"><pre><WSGIRequest: GET '/fenixAuthHandler/?code=3d9d1a63e25003b5903298065368d1049bfbc930ec85e12452d8290825759860e865e18c45113fd38a8a9dc46dfe65488a94328ec3463a385965c0658ed2953f'></pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li class="frame django">
- <code>C:\Users\Tiago\AppData\Local\Programs\Python\Python36\lib\site-packages\django\contrib\auth\__init__.py</code> in <code>authenticate</code>
- <div class="context" id="c2031483605384">
- <ol start="93" class="pre-context" id="pre2031483605384" style="display: none;">
- <li onclick="toggle('pre2031483605384', 'post2031483605384')"><pre> warnings.warn(</pre></li>
- <li onclick="toggle('pre2031483605384', 'post2031483605384')"><pre> "In %s.authenticate(), move the `request` keyword argument "</pre></li>
- <li onclick="toggle('pre2031483605384', 'post2031483605384')"><pre> "to the first positional argument." % backend_path,</pre></li>
- <li onclick="toggle('pre2031483605384', 'post2031483605384')"><pre> RemovedInDjango21Warning</pre></li>
- <li onclick="toggle('pre2031483605384', 'post2031483605384')"><pre> )</pre></li>
- <li onclick="toggle('pre2031483605384', 'post2031483605384')"><pre></pre></li>
- <li onclick="toggle('pre2031483605384', 'post2031483605384')"><pre> try:</pre></li>
- </ol>
- <ol start="100" class="context-line">
- <li onclick="toggle('pre2031483605384', 'post2031483605384')"><pre> user = backend.authenticate(*args, **credentials)</pre> <span>...</span></li></ol>
- <ol start="101" class="post-context" id="post2031483605384" style="display: none;">
- <li onclick="toggle('pre2031483605384', 'post2031483605384')"><pre> except PermissionDenied:</pre></li>
- <li onclick="toggle('pre2031483605384', 'post2031483605384')"><pre> # This backend says to stop in our tracks - this user should not be allowed in at all.</pre></li>
- <li onclick="toggle('pre2031483605384', 'post2031483605384')"><pre> break</pre></li>
- <li onclick="toggle('pre2031483605384', 'post2031483605384')"><pre> if user is None:</pre></li>
- <li onclick="toggle('pre2031483605384', 'post2031483605384')"><pre> continue</pre></li>
- <li onclick="toggle('pre2031483605384', 'post2031483605384')"><pre> # Annotate the user object with the path of the backend.</pre></li>
- </ol>
- </div>
- <div class="commands">
- <a href="http://localhost:8000/fenixAuthHandler/?code=3d9d1a63e25003b5903298065368d1049bfbc930ec85e12452d8290825759860e865e18c45113fd38a8a9dc46dfe65488a94328ec3463a385965c0658ed2953f#" onclick="return varToggle(this, '2031483605384')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v2031483605384" style="display: none;">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>args</td>
- <td class="code"><pre>(<WSGIRequest: GET '/fenixAuthHandler/?code=3d9d1a63e25003b5903298065368d1049bfbc930ec85e12452d8290825759860e865e18c45113fd38a8a9dc46dfe65488a94328ec3463a385965c0658ed2953f'>,)</pre></td>
- </tr>
- <tr>
- <td>backend</td>
- <td class="code"><pre><fenixedu.authentication.backend.FenixEduAuthenticationBackend object at 0x000001D8FDD6EA20></pre></td>
- </tr>
- <tr>
- <td>backend_path</td>
- <td class="code"><pre>'fenixedu.authentication.backend.FenixEduAuthenticationBackend'</pre></td>
- </tr>
- <tr>
- <td>credentials</td>
- <td class="code"><pre>{'client': <fenixedu.FenixEduClient object at 0x000001D8FD1B49E8>,
- 'code': '3d9d1a63e25003b5903298065368d1049bfbc930ec85e12452d8290825759860e865e18c45113fd38a8a9dc46dfe65488a94328ec3463a385965c0658ed2953f'}</pre></td>
- </tr>
- <tr>
- <td>request</td>
- <td class="code"><pre><WSGIRequest: GET '/fenixAuthHandler/?code=3d9d1a63e25003b5903298065368d1049bfbc930ec85e12452d8290825759860e865e18c45113fd38a8a9dc46dfe65488a94328ec3463a385965c0658ed2953f'></pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li class="frame user">
- <code>C:\Users\Tiago\AppData\Local\Programs\Python\Python36\lib\site-packages\fenixedu\authentication\backend.py</code> in <code>authenticate</code>
- <div class="context" id="c2031483607560">
- <ol start="5" class="pre-context" id="pre2031483607560" style="display: none;">
- <li onclick="toggle('pre2031483607560', 'post2031483607560')"><pre> def add_info_to_session(self, request, fenixeduUser):</pre></li>
- <li onclick="toggle('pre2031483607560', 'post2031483607560')"><pre> request.session['access_token'] = fenixeduUser.access_token</pre></li>
- <li onclick="toggle('pre2031483607560', 'post2031483607560')"><pre> request.session['refresh_token'] = fenixeduUser.refresh_token</pre></li>
- <li onclick="toggle('pre2031483607560', 'post2031483607560')"><pre></pre></li>
- <li onclick="toggle('pre2031483607560', 'post2031483607560')"><pre> def authenticate(self, request, client, code=None):</pre></li>
- <li onclick="toggle('pre2031483607560', 'post2031483607560')"><pre> if code is not None:</pre></li>
- <li onclick="toggle('pre2031483607560', 'post2031483607560')"><pre> fenixeduUser = client.get_user_by_code(code)</pre></li>
- </ol>
- <ol start="12" class="context-line">
- <li onclick="toggle('pre2031483607560', 'post2031483607560')"><pre> person = client.get_person(fenixeduUser)</pre> <span>...</span></li></ol>
- <ol start="13" class="post-context" id="post2031483607560" style="display: none;">
- <li onclick="toggle('pre2031483607560', 'post2031483607560')"><pre> username = person['username']</pre></li>
- <li onclick="toggle('pre2031483607560', 'post2031483607560')"><pre> try:</pre></li>
- <li onclick="toggle('pre2031483607560', 'post2031483607560')"><pre> user = User.objects.get(username=username)</pre></li>
- <li onclick="toggle('pre2031483607560', 'post2031483607560')"><pre> except User.DoesNotExist:</pre></li>
- <li onclick="toggle('pre2031483607560', 'post2031483607560')"><pre> # The user is not registered in the application yet</pre></li>
- <li onclick="toggle('pre2031483607560', 'post2031483607560')"><pre> name = person['name']</pre></li>
- </ol>
- </div>
- <div class="commands">
- <a href="http://localhost:8000/fenixAuthHandler/?code=3d9d1a63e25003b5903298065368d1049bfbc930ec85e12452d8290825759860e865e18c45113fd38a8a9dc46dfe65488a94328ec3463a385965c0658ed2953f#" onclick="return varToggle(this, '2031483607560')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v2031483607560" style="display: none;">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>client</td>
- <td class="code"><pre><fenixedu.FenixEduClient object at 0x000001D8FD1B49E8></pre></td>
- </tr>
- <tr>
- <td>code</td>
- <td class="code"><pre>'3d9d1a63e25003b5903298065368d1049bfbc930ec85e12452d8290825759860e865e18c45113fd38a8a9dc46dfe65488a94328ec3463a385965c0658ed2953f'</pre></td>
- </tr>
- <tr>
- <td>fenixeduUser</td>
- <td class="code"><pre><fenixedu.user.User object at 0x000001D8FDD6E160></pre></td>
- </tr>
- <tr>
- <td>request</td>
- <td class="code"><pre><WSGIRequest: GET '/fenixAuthHandler/?code=3d9d1a63e25003b5903298065368d1049bfbc930ec85e12452d8290825759860e865e18c45113fd38a8a9dc46dfe65488a94328ec3463a385965c0658ed2953f'></pre></td>
- </tr>
- <tr>
- <td>self</td>
- <td class="code"><pre><fenixedu.authentication.backend.FenixEduAuthenticationBackend object at 0x000001D8FDD6EA20></pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li class="frame user">
- <code>C:\Users\Tiago\AppData\Local\Programs\Python\Python36\lib\site-packages\fenixedu\__init__.py</code> in <code>get_person</code>
- <div class="context" id="c2031483021576">
- <ol start="170" class="pre-context" id="pre2031483021576" style="display: none;">
- <li onclick="toggle('pre2031483021576', 'post2031483021576')"><pre> else:</pre></li>
- <li onclick="toggle('pre2031483021576', 'post2031483021576')"><pre> params = None</pre></li>
- <li onclick="toggle('pre2031483021576', 'post2031483021576')"><pre> r = self._api_public_request(endpoints.SPACE, params=params, endpoint_params={'id': id})</pre></li>
- <li onclick="toggle('pre2031483021576', 'post2031483021576')"><pre> return r.json()</pre></li>
- <li onclick="toggle('pre2031483021576', 'post2031483021576')"><pre></pre></li>
- <li onclick="toggle('pre2031483021576', 'post2031483021576')"><pre> """ Private Endpoints """</pre></li>
- <li onclick="toggle('pre2031483021576', 'post2031483021576')"><pre> def get_person(self, user):</pre></li>
- </ol>
- <ol start="177" class="context-line">
- <li onclick="toggle('pre2031483021576', 'post2031483021576')"><pre> r = self._api_private_request(endpoints.PERSON, user=user)</pre> <span>...</span></li></ol>
- <ol start="178" class="post-context" id="post2031483021576" style="display: none;">
- <li onclick="toggle('pre2031483021576', 'post2031483021576')"><pre> return r.json()</pre></li>
- <li onclick="toggle('pre2031483021576', 'post2031483021576')"><pre></pre></li>
- <li onclick="toggle('pre2031483021576', 'post2031483021576')"><pre> def get_person_classes_calendar(self, user):</pre></li>
- <li onclick="toggle('pre2031483021576', 'post2031483021576')"><pre> r = self._api_private_request(endpoints.PERSON_CALENDAR_CLASSES, user=user)</pre></li>
- <li onclick="toggle('pre2031483021576', 'post2031483021576')"><pre> return r.json()</pre></li>
- <li onclick="toggle('pre2031483021576', 'post2031483021576')"><pre></pre></li>
- </ol>
- </div>
- <div class="commands">
- <a href="http://localhost:8000/fenixAuthHandler/?code=3d9d1a63e25003b5903298065368d1049bfbc930ec85e12452d8290825759860e865e18c45113fd38a8a9dc46dfe65488a94328ec3463a385965c0658ed2953f#" onclick="return varToggle(this, '2031483021576')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v2031483021576" style="display: none;">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>self</td>
- <td class="code"><pre><fenixedu.FenixEduClient object at 0x000001D8FD1B49E8></pre></td>
- </tr>
- <tr>
- <td>user</td>
- <td class="code"><pre><fenixedu.user.User object at 0x000001D8FDD6E160></pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li class="frame user">
- <code>C:\Users\Tiago\AppData\Local\Programs\Python\Python36\lib\site-packages\fenixedu\__init__.py</code> in <code>_api_private_request</code>
- <div class="context" id="c2031483022536">
- <ol start="55" class="pre-context" id="pre2031483022536" style="display: none;">
- <li onclick="toggle('pre2031483022536', 'post2031483022536')"><pre> url = self._get_api_endpoint_url(endpoint)</pre></li>
- <li onclick="toggle('pre2031483022536', 'post2031483022536')"><pre></pre></li>
- <li onclick="toggle('pre2031483022536', 'post2031483022536')"><pre> params['access_token'] = user.access_token</pre></li>
- <li onclick="toggle('pre2031483022536', 'post2031483022536')"><pre> r = self._request(url, params = params, method = method, headers = headers)</pre></li>
- <li onclick="toggle('pre2031483022536', 'post2031483022536')"><pre> """ Check if everything was fine</pre></li>
- <li onclick="toggle('pre2031483022536', 'post2031483022536')"><pre> If not: Try to refresh the access token """</pre></li>
- <li onclick="toggle('pre2031483022536', 'post2031483022536')"><pre> if r.status_code == 401:</pre></li>
- </ol>
- <ol start="62" class="context-line">
- <li onclick="toggle('pre2031483022536', 'post2031483022536')"><pre> self._refresh_access_token(user)</pre> <span>...</span></li></ol>
- <ol start="63" class="post-context" id="post2031483022536" style="display: none;">
- <li onclick="toggle('pre2031483022536', 'post2031483022536')"><pre> """ Repeat the request """</pre></li>
- <li onclick="toggle('pre2031483022536', 'post2031483022536')"><pre> r = self._request(url, params = params, method = method, headers = headers)</pre></li>
- <li onclick="toggle('pre2031483022536', 'post2031483022536')"><pre> return r</pre></li>
- <li onclick="toggle('pre2031483022536', 'post2031483022536')"><pre></pre></li>
- <li onclick="toggle('pre2031483022536', 'post2031483022536')"><pre> def _refresh_access_token(self, user):</pre></li>
- <li onclick="toggle('pre2031483022536', 'post2031483022536')"><pre> url = self._get_oauth_endpoint_url(self.refresh_token)</pre></li>
- </ol>
- </div>
- <div class="commands">
- <a href="http://localhost:8000/fenixAuthHandler/?code=3d9d1a63e25003b5903298065368d1049bfbc930ec85e12452d8290825759860e865e18c45113fd38a8a9dc46dfe65488a94328ec3463a385965c0658ed2953f#" onclick="return varToggle(this, '2031483022536')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v2031483022536" style="display: none;">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>endpoint</td>
- <td class="code"><pre>'person'</pre></td>
- </tr>
- <tr>
- <td>headers</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>method</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>params</td>
- <td class="code"><pre>{'access_token': 'MTk3NzM5ODY0ODE0MDE0MjowMzYwZWY1YjRhNzQ3YTJkZTNlMzM0NGNiY2VmM2VjZTVkOTczZGU1NDlhZGNjNGIyOTJkNmY0Y2EyNDMzMjM4MTI5Y2MzYzIxNTNiNzFiYTgyMDc2MGYwY2ZlZDgyZTljY2NjMGQzYzk4ZDIyZDBjZDgzYzNjNjE4ODViYmI2Ng'}</pre></td>
- </tr>
- <tr>
- <td>r</td>
- <td class="code"><pre><Response [401]></pre></td>
- </tr>
- <tr>
- <td>self</td>
- <td class="code"><pre><fenixedu.FenixEduClient object at 0x000001D8FD1B49E8></pre></td>
- </tr>
- <tr>
- <td>url</td>
- <td class="code"><pre>'https://fenix.tecnico.ulisboa.pt/api/fenix/v1/person'</pre></td>
- </tr>
- <tr>
- <td>user</td>
- <td class="code"><pre><fenixedu.user.User object at 0x000001D8FDD6E160></pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li class="frame user">
- <code>C:\Users\Tiago\AppData\Local\Programs\Python\Python36\lib\site-packages\fenixedu\__init__.py</code> in <code>_refresh_access_token</code>
- <div class="context" id="c2031483517512">
- <ol start="61" class="pre-context" id="pre2031483517512" style="display: none;">
- <li onclick="toggle('pre2031483517512', 'post2031483517512')"><pre> if r.status_code == 401:</pre></li>
- <li onclick="toggle('pre2031483517512', 'post2031483517512')"><pre> self._refresh_access_token(user)</pre></li>
- <li onclick="toggle('pre2031483517512', 'post2031483517512')"><pre> """ Repeat the request """</pre></li>
- <li onclick="toggle('pre2031483517512', 'post2031483517512')"><pre> r = self._request(url, params = params, method = method, headers = headers)</pre></li>
- <li onclick="toggle('pre2031483517512', 'post2031483517512')"><pre> return r</pre></li>
- <li onclick="toggle('pre2031483517512', 'post2031483517512')"><pre></pre></li>
- <li onclick="toggle('pre2031483517512', 'post2031483517512')"><pre> def _refresh_access_token(self, user):</pre></li>
- </ol>
- <ol start="68" class="context-line">
- <li onclick="toggle('pre2031483517512', 'post2031483517512')"><pre> url = self._get_oauth_endpoint_url(self.refresh_token)</pre> <span>...</span></li></ol>
- <ol start="69" class="post-context" id="post2031483517512" style="display: none;">
- <li onclick="toggle('pre2031483517512', 'post2031483517512')"><pre> req_params = {'client_id' : self.config.client_id,</pre></li>
- <li onclick="toggle('pre2031483517512', 'post2031483517512')"><pre> 'client_secret' : self.config.client_secret,</pre></li>
- <li onclick="toggle('pre2031483517512', 'post2031483517512')"><pre> 'refresh_token' : user.refresh_token,</pre></li>
- <li onclick="toggle('pre2031483517512', 'post2031483517512')"><pre> 'grant_type' : 'refresh_token',</pre></li>
- <li onclick="toggle('pre2031483517512', 'post2031483517512')"><pre> 'redirect_uri' : self.config.redirect_url,</pre></li>
- <li onclick="toggle('pre2031483517512', 'post2031483517512')"><pre> 'code' : user.code}</pre></li>
- </ol>
- </div>
- <div class="commands">
- <a href="http://localhost:8000/fenixAuthHandler/?code=3d9d1a63e25003b5903298065368d1049bfbc930ec85e12452d8290825759860e865e18c45113fd38a8a9dc46dfe65488a94328ec3463a385965c0658ed2953f#" onclick="return varToggle(this, '2031483517512')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v2031483517512" style="display: none;">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>self</td>
- <td class="code"><pre><fenixedu.FenixEduClient object at 0x000001D8FD1B49E8></pre></td>
- </tr>
- <tr>
- <td>user</td>
- <td class="code"><pre><fenixedu.user.User object at 0x000001D8FDD6E160></pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- </ul>
- </div>
- <form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
- <div id="pastebinTraceback" class="pastebin" style="display: none;">
- <input type="hidden" name="language" value="PythonConsole">
- <input type="hidden" name="title" value="AttributeError at /fenixAuthHandler/">
- <input type="hidden" name="source" value="Django Dpaste Agent">
- <input type="hidden" name="poster" value="Django">
- <textarea name="content" id="traceback_area" cols="140" rows="25">Environment:
- Request Method: GET
- Request URL: http://localhost:8000/fenixAuthHandler/?code=3d9d1a63e25003b5903298065368d1049bfbc930ec85e12452d8290825759860e865e18c45113fd38a8a9dc46dfe65488a94328ec3463a385965c0658ed2953f
- Django Version: 1.11
- Python Version: 3.6.3
- Installed Applications:
- ['django.contrib.admin',
- 'django.contrib.auth',
- 'django.contrib.contenttypes',
- 'django.contrib.sessions',
- 'django.contrib.messages',
- 'django.contrib.staticfiles']
- Installed Middleware:
- ['django.middleware.security.SecurityMiddleware',
- 'django.contrib.sessions.middleware.SessionMiddleware',
- 'django.middleware.common.CommonMiddleware',
- 'django.middleware.csrf.CsrfViewMiddleware',
- 'django.contrib.auth.middleware.AuthenticationMiddleware',
- 'django.contrib.messages.middleware.MessageMiddleware',
- 'django.middleware.clickjacking.XFrameOptionsMiddleware']
- Traceback:
- File "C:\Users\Tiago\AppData\Local\Programs\Python\Python36\lib\site-packages\django\core\handlers\exception.py" in inner
- 41. response = get_response(request)
- File "C:\Users\Tiago\AppData\Local\Programs\Python\Python36\lib\site-packages\django\core\handlers\base.py" in _get_response
- 187. response = self.process_exception_by_middleware(e, request)
- File "C:\Users\Tiago\AppData\Local\Programs\Python\Python36\lib\site-packages\django\core\handlers\base.py" in _get_response
- 185. response = wrapped_callback(request, *callback_args, **callback_kwargs)
- File "C:\Users\Tiago\Desktop\FenixEdu-Django-Auth-Demo-master\demo_app\views.py" in handle_fenix_auth
- 20. user = authenticate(request=request, client=fenixedu_client, code=code)
- File "C:\Users\Tiago\AppData\Local\Programs\Python\Python36\lib\site-packages\django\contrib\auth\__init__.py" in authenticate
- 100. user = backend.authenticate(*args, **credentials)
- File "C:\Users\Tiago\AppData\Local\Programs\Python\Python36\lib\site-packages\fenixedu\authentication\backend.py" in authenticate
- 12. person = client.get_person(fenixeduUser)
- File "C:\Users\Tiago\AppData\Local\Programs\Python\Python36\lib\site-packages\fenixedu\__init__.py" in get_person
- 177. r = self._api_private_request(endpoints.PERSON, user=user)
- File "C:\Users\Tiago\AppData\Local\Programs\Python\Python36\lib\site-packages\fenixedu\__init__.py" in _api_private_request
- 62. self._refresh_access_token(user)
- File "C:\Users\Tiago\AppData\Local\Programs\Python\Python36\lib\site-packages\fenixedu\__init__.py" in _refresh_access_token
- 68. url = self._get_oauth_endpoint_url(self.refresh_token)
- Exception Type: AttributeError at /fenixAuthHandler/
- Exception Value: 'FenixEduClient' object has no attribute 'refresh_token'
- </textarea>
- <br><br>
- <input type="submit" value="Share this traceback on a public website">
- </div>
- </form>
- </div>
- <div id="requestinfo">
- <h2>Request information</h2>
- <h3 id="user-info">USER</h3>
- <p>AnonymousUser</p>
- <h3 id="get-info">GET</h3>
- <table class="req">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>code</td>
- <td class="code"><pre>'3d9d1a63e25003b5903298065368d1049bfbc930ec85e12452d8290825759860e865e18c45113fd38a8a9dc46dfe65488a94328ec3463a385965c0658ed2953f'</pre></td>
- </tr>
- </tbody>
- </table>
- <h3 id="post-info">POST</h3>
- <table class="req">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- </tbody>
- </table>
- <h3 id="files-info">FILES</h3>
- <p>No FILES data</p>
- <h3 id="cookie-info">COOKIES</h3>
- <p>No cookie data</p>
- <h3 id="meta-info">META</h3>
- <table class="req">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>ALLUSERSPROFILE</td>
- <td class="code"><pre>'C:\\ProgramData'</pre></td>
- </tr>
- <tr>
- <td>APPDATA</td>
- <td class="code"><pre>'C:\\Users\\Tiago\\AppData\\Roaming'</pre></td>
- </tr>
- <tr>
- <td>COMMONPROGRAMFILES</td>
- <td class="code"><pre>'C:\\Program Files\\Common Files'</pre></td>
- </tr>
- <tr>
- <td>COMMONPROGRAMFILES(X86)</td>
- <td class="code"><pre>'C:\\Program Files (x86)\\Common Files'</pre></td>
- </tr>
- <tr>
- <td>COMMONPROGRAMW6432</td>
- <td class="code"><pre>'C:\\Program Files\\Common Files'</pre></td>
- </tr>
- <tr>
- <td>COMPUTERNAME</td>
- <td class="code"><pre>'DESKTOP-PKHSSI9'</pre></td>
- </tr>
- <tr>
- <td>COMSPEC</td>
- <td class="code"><pre>'C:\\WINDOWS\\system32\\cmd.exe'</pre></td>
- </tr>
- <tr>
- <td>CONTENT_LENGTH</td>
- <td class="code"><pre>''</pre></td>
- </tr>
- <tr>
- <td>CONTENT_TYPE</td>
- <td class="code"><pre>'text/plain'</pre></td>
- </tr>
- <tr>
- <td>DJANGO_SETTINGS_MODULE</td>
- <td class="code"><pre>'FenixAuthDemo.settings'</pre></td>
- </tr>
- <tr>
- <td>GATEWAY_INTERFACE</td>
- <td class="code"><pre>'CGI/1.1'</pre></td>
- </tr>
- <tr>
- <td>HOMEDRIVE</td>
- <td class="code"><pre>'C:'</pre></td>
- </tr>
- <tr>
- <td>HOMEPATH</td>
- <td class="code"><pre>'\\Users\\Tiago'</pre></td>
- </tr>
- <tr>
- <td>HTTP_ACCEPT</td>
- <td class="code"><pre>'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8'</pre></td>
- </tr>
- <tr>
- <td>HTTP_ACCEPT_ENCODING</td>
- <td class="code"><pre>'gzip, deflate, br'</pre></td>
- </tr>
- <tr>
- <td>HTTP_ACCEPT_LANGUAGE</td>
- <td class="code"><pre>'pt-PT,pt;q=0.9,en-US;q=0.8,en;q=0.7'</pre></td>
- </tr>
- <tr>
- <td>HTTP_CONNECTION</td>
- <td class="code"><pre>'keep-alive'</pre></td>
- </tr>
- <tr>
- <td>HTTP_HOST</td>
- <td class="code"><pre>'localhost:8000'</pre></td>
- </tr>
- <tr>
- <td>HTTP_UPGRADE_INSECURE_REQUESTS</td>
- <td class="code"><pre>'1'</pre></td>
- </tr>
- <tr>
- <td>HTTP_USER_AGENT</td>
- <td class="code"><pre>('Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like '
- 'Gecko) Chrome/63.0.3239.132 Safari/537.36')</pre></td>
- </tr>
- <tr>
- <td>LOCALAPPDATA</td>
- <td class="code"><pre>'C:\\Users\\Tiago\\AppData\\Local'</pre></td>
- </tr>
- <tr>
- <td>LOGONSERVER</td>
- <td class="code"><pre>'\\\\DESKTOP-PKHSSI9'</pre></td>
- </tr>
- <tr>
- <td>NUMBER_OF_PROCESSORS</td>
- <td class="code"><pre>'8'</pre></td>
- </tr>
- <tr>
- <td>ONEDRIVE</td>
- <td class="code"><pre>'C:\\Users\\Tiago\\OneDrive'</pre></td>
- </tr>
- <tr>
- <td>OS</td>
- <td class="code"><pre>'Windows_NT'</pre></td>
- </tr>
- <tr>
- <td>PATH</td>
- <td class="code"><pre>('C:\\Program Files (x86)\\Intel\\iCLS Client\\;C:\\Program Files\\Intel\\iCLS '
- 'Client\\;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C:\\Program '
- 'Files (x86)\\Intel\\Intel(R) Management Engine Components\\DAL;C:\\Program '
- 'Files\\Intel\\Intel(R) Management Engine Components\\DAL;C:\\Program Files '
- '(x86)\\Intel\\Intel(R) Management Engine Components\\IPT;C:\\Program '
- 'Files\\Intel\\Intel(R) Management Engine '
- 'Components\\IPT;C:\\Users\\Tiago\\AppData\\Local\\Programs\\Python\\Python36\\Scripts\\;C:\\Users\\Tiago\\AppData\\Local\\Programs\\Python\\Python36\\;C:\\Users\\Tiago\\AppData\\Local\\Microsoft\\WindowsApps;C:\\Users\\Tiago\\AppData\\Local\\Google\\Cloud '
- 'SDK\\google-cloud-sdk\\bin')</pre></td>
- </tr>
- <tr>
- <td>PATHEXT</td>
- <td class="code"><pre>'.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC'</pre></td>
- </tr>
- <tr>
- <td>PATH_INFO</td>
- <td class="code"><pre>'/fenixAuthHandler/'</pre></td>
- </tr>
- <tr>
- <td>PROCESSOR_ARCHITECTURE</td>
- <td class="code"><pre>'AMD64'</pre></td>
- </tr>
- <tr>
- <td>PROCESSOR_IDENTIFIER</td>
- <td class="code"><pre>'Intel64 Family 6 Model 142 Stepping 10, GenuineIntel'</pre></td>
- </tr>
- <tr>
- <td>PROCESSOR_LEVEL</td>
- <td class="code"><pre>'6'</pre></td>
- </tr>
- <tr>
- <td>PROCESSOR_REVISION</td>
- <td class="code"><pre>'8e0a'</pre></td>
- </tr>
- <tr>
- <td>PROGRAMDATA</td>
- <td class="code"><pre>'C:\\ProgramData'</pre></td>
- </tr>
- <tr>
- <td>PROGRAMFILES</td>
- <td class="code"><pre>'C:\\Program Files'</pre></td>
- </tr>
- <tr>
- <td>PROGRAMFILES(X86)</td>
- <td class="code"><pre>'C:\\Program Files (x86)'</pre></td>
- </tr>
- <tr>
- <td>PROGRAMW6432</td>
- <td class="code"><pre>'C:\\Program Files'</pre></td>
- </tr>
- <tr>
- <td>PROMPT</td>
- <td class="code"><pre>'$P$G'</pre></td>
- </tr>
- <tr>
- <td>PSMODULEPATH</td>
- <td class="code"><pre>(';C:\\Users\\Tiago\\AppData\\Local\\Google\\Cloud '
- 'SDK\\google-cloud-sdk\\platform\\PowerShell')</pre></td>
- </tr>
- <tr>
- <td>PUBLIC</td>
- <td class="code"><pre>'C:\\Users\\Public'</pre></td>
- </tr>
- <tr>
- <td>QUERY_STRING</td>
- <td class="code"><pre>'code=3d9d1a63e25003b5903298065368d1049bfbc930ec85e12452d8290825759860e865e18c45113fd38a8a9dc46dfe65488a94328ec3463a385965c0658ed2953f'</pre></td>
- </tr>
- <tr>
- <td>REMOTE_ADDR</td>
- <td class="code"><pre>'127.0.0.1'</pre></td>
- </tr>
- <tr>
- <td>REMOTE_HOST</td>
- <td class="code"><pre>''</pre></td>
- </tr>
- <tr>
- <td>REQUEST_METHOD</td>
- <td class="code"><pre>'GET'</pre></td>
- </tr>
- <tr>
- <td>RUN_MAIN</td>
- <td class="code"><pre>'true'</pre></td>
- </tr>
- <tr>
- <td>SCRIPT_NAME</td>
- <td class="code"><pre>''</pre></td>
- </tr>
- <tr>
- <td>SERVER_NAME</td>
- <td class="code"><pre>'DESKTOP-PKHSSI9.lan'</pre></td>
- </tr>
- <tr>
- <td>SERVER_PORT</td>
- <td class="code"><pre>'8000'</pre></td>
- </tr>
- <tr>
- <td>SERVER_PROTOCOL</td>
- <td class="code"><pre>'HTTP/1.1'</pre></td>
- </tr>
- <tr>
- <td>SERVER_SOFTWARE</td>
- <td class="code"><pre>'WSGIServer/0.2'</pre></td>
- </tr>
- <tr>
- <td>SESSIONNAME</td>
- <td class="code"><pre>'Console'</pre></td>
- </tr>
- <tr>
- <td>SYSTEMDRIVE</td>
- <td class="code"><pre>'C:'</pre></td>
- </tr>
- <tr>
- <td>SYSTEMROOT</td>
- <td class="code"><pre>'C:\\WINDOWS'</pre></td>
- </tr>
- <tr>
- <td>TEMP</td>
- <td class="code"><pre>'C:\\Users\\Tiago\\AppData\\Local\\Temp'</pre></td>
- </tr>
- <tr>
- <td>TMP</td>
- <td class="code"><pre>'C:\\Users\\Tiago\\AppData\\Local\\Temp'</pre></td>
- </tr>
- <tr>
- <td>USERDOMAIN</td>
- <td class="code"><pre>'DESKTOP-PKHSSI9'</pre></td>
- </tr>
- <tr>
- <td>USERDOMAIN_ROAMINGPROFILE</td>
- <td class="code"><pre>'DESKTOP-PKHSSI9'</pre></td>
- </tr>
- <tr>
- <td>USERNAME</td>
- <td class="code"><pre>'Tiago'</pre></td>
- </tr>
- <tr>
- <td>USERPROFILE</td>
- <td class="code"><pre>'C:\\Users\\Tiago'</pre></td>
- </tr>
- <tr>
- <td>WINDIR</td>
- <td class="code"><pre>'C:\\WINDOWS'</pre></td>
- </tr>
- <tr>
- <td>wsgi.errors</td>
- <td class="code"><pre><_io.TextIOWrapper name='<stderr>' mode='w' encoding='utf-8'></pre></td>
- </tr>
- <tr>
- <td>wsgi.file_wrapper</td>
- <td class="code"><pre>''</pre></td>
- </tr>
- <tr>
- <td>wsgi.input</td>
- <td class="code"><pre><_io.BufferedReader name=1484></pre></td>
- </tr>
- <tr>
- <td>wsgi.multiprocess</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>wsgi.multithread</td>
- <td class="code"><pre>True</pre></td>
- </tr>
- <tr>
- <td>wsgi.run_once</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>wsgi.url_scheme</td>
- <td class="code"><pre>'http'</pre></td>
- </tr>
- <tr>
- <td>wsgi.version</td>
- <td class="code"><pre>(1, 0)</pre></td>
- </tr>
- </tbody>
- </table>
- <h3 id="settings-info">Settings</h3>
- <h4>Using settings module <code>FenixAuthDemo.settings</code></h4>
- <table class="req">
- <thead>
- <tr>
- <th>Setting</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>ABSOLUTE_URL_OVERRIDES</td>
- <td class="code"><pre>{}</pre></td>
- </tr>
- <tr>
- <td>ADMINS</td>
- <td class="code"><pre>[]</pre></td>
- </tr>
- <tr>
- <td>ALLOWED_HOSTS</td>
- <td class="code"><pre>[]</pre></td>
- </tr>
- <tr>
- <td>APPEND_SLASH</td>
- <td class="code"><pre>True</pre></td>
- </tr>
- <tr>
- <td>AUTHENTICATION_BACKENDS</td>
- <td class="code"><pre>('fenixedu.authentication.backend.FenixEduAuthenticationBackend',)</pre></td>
- </tr>
- <tr>
- <td>AUTH_PASSWORD_VALIDATORS</td>
- <td class="code"><pre>'********************'</pre></td>
- </tr>
- <tr>
- <td>AUTH_USER_MODEL</td>
- <td class="code"><pre>'auth.User'</pre></td>
- </tr>
- <tr>
- <td>BASE_DIR</td>
- <td class="code"><pre>'C:\\Users\\Tiago\\Desktop\\FenixEdu-Django-Auth-Demo-master'</pre></td>
- </tr>
- <tr>
- <td>CACHES</td>
- <td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}}</pre></td>
- </tr>
- <tr>
- <td>CACHE_MIDDLEWARE_ALIAS</td>
- <td class="code"><pre>'default'</pre></td>
- </tr>
- <tr>
- <td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
- <td class="code"><pre>'********************'</pre></td>
- </tr>
- <tr>
- <td>CACHE_MIDDLEWARE_SECONDS</td>
- <td class="code"><pre>600</pre></td>
- </tr>
- <tr>
- <td>CSRF_COOKIE_AGE</td>
- <td class="code"><pre>31449600</pre></td>
- </tr>
- <tr>
- <td>CSRF_COOKIE_DOMAIN</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>CSRF_COOKIE_HTTPONLY</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>CSRF_COOKIE_NAME</td>
- <td class="code"><pre>'csrftoken'</pre></td>
- </tr>
- <tr>
- <td>CSRF_COOKIE_PATH</td>
- <td class="code"><pre>'/'</pre></td>
- </tr>
- <tr>
- <td>CSRF_COOKIE_SECURE</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>CSRF_FAILURE_VIEW</td>
- <td class="code"><pre>'django.views.csrf.csrf_failure'</pre></td>
- </tr>
- <tr>
- <td>CSRF_HEADER_NAME</td>
- <td class="code"><pre>'HTTP_X_CSRFTOKEN'</pre></td>
- </tr>
- <tr>
- <td>CSRF_TRUSTED_ORIGINS</td>
- <td class="code"><pre>[]</pre></td>
- </tr>
- <tr>
- <td>CSRF_USE_SESSIONS</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>DATABASES</td>
- <td class="code"><pre>{'default': {'ATOMIC_REQUESTS': False,
- 'AUTOCOMMIT': True,
- 'CONN_MAX_AGE': 0,
- 'ENGINE': 'django.db.backends.sqlite3',
- 'HOST': '',
- 'NAME': 'C:\\Users\\Tiago\\Desktop\\FenixEdu-Django-Auth-Demo-master\\db.sqlite3',
- 'OPTIONS': {},
- 'PASSWORD': '********************',
- 'PORT': '',
- 'TEST': {'CHARSET': None,
- 'COLLATION': None,
- 'MIRROR': None,
- 'NAME': None},
- 'TIME_ZONE': None,
- 'USER': ''}}</pre></td>
- </tr>
- <tr>
- <td>DATABASE_ROUTERS</td>
- <td class="code"><pre>[]</pre></td>
- </tr>
- <tr>
- <td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
- <td class="code"><pre>2621440</pre></td>
- </tr>
- <tr>
- <td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
- <td class="code"><pre>1000</pre></td>
- </tr>
- <tr>
- <td>DATETIME_FORMAT</td>
- <td class="code"><pre>'N j, Y, P'</pre></td>
- </tr>
- <tr>
- <td>DATETIME_INPUT_FORMATS</td>
- <td class="code"><pre>['%Y-%m-%d %H:%M:%S',
- '%Y-%m-%d %H:%M:%S.%f',
- '%Y-%m-%d %H:%M',
- '%Y-%m-%d',
- '%m/%d/%Y %H:%M:%S',
- '%m/%d/%Y %H:%M:%S.%f',
- '%m/%d/%Y %H:%M',
- '%m/%d/%Y',
- '%m/%d/%y %H:%M:%S',
- '%m/%d/%y %H:%M:%S.%f',
- '%m/%d/%y %H:%M',
- '%m/%d/%y']</pre></td>
- </tr>
- <tr>
- <td>DATE_FORMAT</td>
- <td class="code"><pre>'N j, Y'</pre></td>
- </tr>
- <tr>
- <td>DATE_INPUT_FORMATS</td>
- <td class="code"><pre>['%Y-%m-%d',
- '%m/%d/%Y',
- '%m/%d/%y',
- '%b %d %Y',
- '%b %d, %Y',
- '%d %b %Y',
- '%d %b, %Y',
- '%B %d %Y',
- '%B %d, %Y',
- '%d %B %Y',
- '%d %B, %Y']</pre></td>
- </tr>
- <tr>
- <td>DEBUG</td>
- <td class="code"><pre>True</pre></td>
- </tr>
- <tr>
- <td>DEBUG_PROPAGATE_EXCEPTIONS</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>DECIMAL_SEPARATOR</td>
- <td class="code"><pre>'.'</pre></td>
- </tr>
- <tr>
- <td>DEFAULT_CHARSET</td>
- <td class="code"><pre>'utf-8'</pre></td>
- </tr>
- <tr>
- <td>DEFAULT_CONTENT_TYPE</td>
- <td class="code"><pre>'text/html'</pre></td>
- </tr>
- <tr>
- <td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
- <td class="code"><pre>'django.views.debug.SafeExceptionReporterFilter'</pre></td>
- </tr>
- <tr>
- <td>DEFAULT_FILE_STORAGE</td>
- <td class="code"><pre>'django.core.files.storage.FileSystemStorage'</pre></td>
- </tr>
- <tr>
- <td>DEFAULT_FROM_EMAIL</td>
- <td class="code"><pre>'webmaster@localhost'</pre></td>
- </tr>
- <tr>
- <td>DEFAULT_INDEX_TABLESPACE</td>
- <td class="code"><pre>''</pre></td>
- </tr>
- <tr>
- <td>DEFAULT_TABLESPACE</td>
- <td class="code"><pre>''</pre></td>
- </tr>
- <tr>
- <td>DISALLOWED_USER_AGENTS</td>
- <td class="code"><pre>[]</pre></td>
- </tr>
- <tr>
- <td>EMAIL_BACKEND</td>
- <td class="code"><pre>'django.core.mail.backends.smtp.EmailBackend'</pre></td>
- </tr>
- <tr>
- <td>EMAIL_HOST</td>
- <td class="code"><pre>'localhost'</pre></td>
- </tr>
- <tr>
- <td>EMAIL_HOST_PASSWORD</td>
- <td class="code"><pre>'********************'</pre></td>
- </tr>
- <tr>
- <td>EMAIL_HOST_USER</td>
- <td class="code"><pre>''</pre></td>
- </tr>
- <tr>
- <td>EMAIL_PORT</td>
- <td class="code"><pre>25</pre></td>
- </tr>
- <tr>
- <td>EMAIL_SSL_CERTFILE</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>EMAIL_SSL_KEYFILE</td>
- <td class="code"><pre>'********************'</pre></td>
- </tr>
- <tr>
- <td>EMAIL_SUBJECT_PREFIX</td>
- <td class="code"><pre>'[Django] '</pre></td>
- </tr>
- <tr>
- <td>EMAIL_TIMEOUT</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>EMAIL_USE_LOCALTIME</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>EMAIL_USE_SSL</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>EMAIL_USE_TLS</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>FENIXEDU_BASE_URL</td>
- <td class="code"><pre>'https://fenix.tecnico.ulisboa.pt/'</pre></td>
- </tr>
- <tr>
- <td>FENIXEDU_CLIENT_ID</td>
- <td class="code"><pre>'288540197912630'</pre></td>
- </tr>
- <tr>
- <td>FENIXEDU_CLIENT_SECRET</td>
- <td class="code"><pre>'********************'</pre></td>
- </tr>
- <tr>
- <td>FENIXEDU_REDIRECT_URI</td>
- <td class="code"><pre>'http://localhost:8000/fenixAuthHandler/'</pre></td>
- </tr>
- <tr>
- <td>FILE_CHARSET</td>
- <td class="code"><pre>'utf-8'</pre></td>
- </tr>
- <tr>
- <td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>FILE_UPLOAD_HANDLERS</td>
- <td class="code"><pre>['django.core.files.uploadhandler.MemoryFileUploadHandler',
- 'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
- </tr>
- <tr>
- <td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
- <td class="code"><pre>2621440</pre></td>
- </tr>
- <tr>
- <td>FILE_UPLOAD_PERMISSIONS</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>FILE_UPLOAD_TEMP_DIR</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>FIRST_DAY_OF_WEEK</td>
- <td class="code"><pre>0</pre></td>
- </tr>
- <tr>
- <td>FIXTURE_DIRS</td>
- <td class="code"><pre>[]</pre></td>
- </tr>
- <tr>
- <td>FORCE_SCRIPT_NAME</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>FORMAT_MODULE_PATH</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>FORM_RENDERER</td>
- <td class="code"><pre>'django.forms.renderers.DjangoTemplates'</pre></td>
- </tr>
- <tr>
- <td>IGNORABLE_404_URLS</td>
- <td class="code"><pre>[]</pre></td>
- </tr>
- <tr>
- <td>INSTALLED_APPS</td>
- <td class="code"><pre>['django.contrib.admin',
- 'django.contrib.auth',
- 'django.contrib.contenttypes',
- 'django.contrib.sessions',
- 'django.contrib.messages',
- 'django.contrib.staticfiles']</pre></td>
- </tr>
- <tr>
- <td>INTERNAL_IPS</td>
- <td class="code"><pre>[]</pre></td>
- </tr>
- <tr>
- <td>LANGUAGES</td>
- <td class="code"><pre>[('af', 'Afrikaans'),
- ('ar', 'Arabic'),
- ('ast', 'Asturian'),
- ('az', 'Azerbaijani'),
- ('bg', 'Bulgarian'),
- ('be', 'Belarusian'),
- ('bn', 'Bengali'),
- ('br', 'Breton'),
- ('bs', 'Bosnian'),
- ('ca', 'Catalan'),
- ('cs', 'Czech'),
- ('cy', 'Welsh'),
- ('da', 'Danish'),
- ('de', 'German'),
- ('dsb', 'Lower Sorbian'),
- ('el', 'Greek'),
- ('en', 'English'),
- ('en-au', 'Australian English'),
- ('en-gb', 'British English'),
- ('eo', 'Esperanto'),
- ('es', 'Spanish'),
- ('es-ar', 'Argentinian Spanish'),
- ('es-co', 'Colombian Spanish'),
- ('es-mx', 'Mexican Spanish'),
- ('es-ni', 'Nicaraguan Spanish'),
- ('es-ve', 'Venezuelan Spanish'),
- ('et', 'Estonian'),
- ('eu', 'Basque'),
- ('fa', 'Persian'),
- ('fi', 'Finnish'),
- ('fr', 'French'),
- ('fy', 'Frisian'),
- ('ga', 'Irish'),
- ('gd', 'Scottish Gaelic'),
- ('gl', 'Galician'),
- ('he', 'Hebrew'),
- ('hi', 'Hindi'),
- ('hr', 'Croatian'),
- ('hsb', 'Upper Sorbian'),
- ('hu', 'Hungarian'),
- ('ia', 'Interlingua'),
- ('id', 'Indonesian'),
- ('io', 'Ido'),
- ('is', 'Icelandic'),
- ('it', 'Italian'),
- ('ja', 'Japanese'),
- ('ka', 'Georgian'),
- ('kk', 'Kazakh'),
- ('km', 'Khmer'),
- ('kn', 'Kannada'),
- ('ko', 'Korean'),
- ('lb', 'Luxembourgish'),
- ('lt', 'Lithuanian'),
- ('lv', 'Latvian'),
- ('mk', 'Macedonian'),
- ('ml', 'Malayalam'),
- ('mn', 'Mongolian'),
- ('mr', 'Marathi'),
- ('my', 'Burmese'),
- ('nb', 'Norwegian Bokmål'),
- ('ne', 'Nepali'),
- ('nl', 'Dutch'),
- ('nn', 'Norwegian Nynorsk'),
- ('os', 'Ossetic'),
- ('pa', 'Punjabi'),
- ('pl', 'Polish'),
- ('pt', 'Portuguese'),
- ('pt-br', 'Brazilian Portuguese'),
- ('ro', 'Romanian'),
- ('ru', 'Russian'),
- ('sk', 'Slovak'),
- ('sl', 'Slovenian'),
- ('sq', 'Albanian'),
- ('sr', 'Serbian'),
- ('sr-latn', 'Serbian Latin'),
- ('sv', 'Swedish'),
- ('sw', 'Swahili'),
- ('ta', 'Tamil'),
- ('te', 'Telugu'),
- ('th', 'Thai'),
- ('tr', 'Turkish'),
- ('tt', 'Tatar'),
- ('udm', 'Udmurt'),
- ('uk', 'Ukrainian'),
- ('ur', 'Urdu'),
- ('vi', 'Vietnamese'),
- ('zh-hans', 'Simplified Chinese'),
- ('zh-hant', 'Traditional Chinese')]</pre></td>
- </tr>
- <tr>
- <td>LANGUAGES_BIDI</td>
- <td class="code"><pre>['he', 'ar', 'fa', 'ur']</pre></td>
- </tr>
- <tr>
- <td>LANGUAGE_CODE</td>
- <td class="code"><pre>'en-us'</pre></td>
- </tr>
- <tr>
- <td>LANGUAGE_COOKIE_AGE</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>LANGUAGE_COOKIE_DOMAIN</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>LANGUAGE_COOKIE_NAME</td>
- <td class="code"><pre>'django_language'</pre></td>
- </tr>
- <tr>
- <td>LANGUAGE_COOKIE_PATH</td>
- <td class="code"><pre>'/'</pre></td>
- </tr>
- <tr>
- <td>LOCALE_PATHS</td>
- <td class="code"><pre>[]</pre></td>
- </tr>
- <tr>
- <td>LOGGING</td>
- <td class="code"><pre>{}</pre></td>
- </tr>
- <tr>
- <td>LOGGING_CONFIG</td>
- <td class="code"><pre>'logging.config.dictConfig'</pre></td>
- </tr>
- <tr>
- <td>LOGIN_REDIRECT_URL</td>
- <td class="code"><pre>'/accounts/profile/'</pre></td>
- </tr>
- <tr>
- <td>LOGIN_URL</td>
- <td class="code"><pre>'/accounts/login/'</pre></td>
- </tr>
- <tr>
- <td>LOGOUT_REDIRECT_URL</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>MANAGERS</td>
- <td class="code"><pre>[]</pre></td>
- </tr>
- <tr>
- <td>MEDIA_ROOT</td>
- <td class="code"><pre>''</pre></td>
- </tr>
- <tr>
- <td>MEDIA_URL</td>
- <td class="code"><pre>''</pre></td>
- </tr>
- <tr>
- <td>MESSAGE_STORAGE</td>
- <td class="code"><pre>'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
- </tr>
- <tr>
- <td>MIDDLEWARE</td>
- <td class="code"><pre>['django.middleware.security.SecurityMiddleware',
- 'django.contrib.sessions.middleware.SessionMiddleware',
- 'django.middleware.common.CommonMiddleware',
- 'django.middleware.csrf.CsrfViewMiddleware',
- 'django.contrib.auth.middleware.AuthenticationMiddleware',
- 'django.contrib.messages.middleware.MessageMiddleware',
- 'django.middleware.clickjacking.XFrameOptionsMiddleware']</pre></td>
- </tr>
- <tr>
- <td>MIDDLEWARE_CLASSES</td>
- <td class="code"><pre>['django.middleware.common.CommonMiddleware',
- 'django.middleware.csrf.CsrfViewMiddleware']</pre></td>
- </tr>
- <tr>
- <td>MIGRATION_MODULES</td>
- <td class="code"><pre>{}</pre></td>
- </tr>
- <tr>
- <td>MONTH_DAY_FORMAT</td>
- <td class="code"><pre>'F j'</pre></td>
- </tr>
- <tr>
- <td>NUMBER_GROUPING</td>
- <td class="code"><pre>0</pre></td>
- </tr>
- <tr>
- <td>PASSWORD_HASHERS</td>
- <td class="code"><pre>'********************'</pre></td>
- </tr>
- <tr>
- <td>PASSWORD_RESET_TIMEOUT_DAYS</td>
- <td class="code"><pre>'********************'</pre></td>
- </tr>
- <tr>
- <td>PREPEND_WWW</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>ROOT_URLCONF</td>
- <td class="code"><pre>'FenixAuthDemo.urls'</pre></td>
- </tr>
- <tr>
- <td>SECRET_KEY</td>
- <td class="code"><pre>'********************'</pre></td>
- </tr>
- <tr>
- <td>SECURE_BROWSER_XSS_FILTER</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>SECURE_CONTENT_TYPE_NOSNIFF</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>SECURE_HSTS_PRELOAD</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>SECURE_HSTS_SECONDS</td>
- <td class="code"><pre>0</pre></td>
- </tr>
- <tr>
- <td>SECURE_PROXY_SSL_HEADER</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>SECURE_REDIRECT_EXEMPT</td>
- <td class="code"><pre>[]</pre></td>
- </tr>
- <tr>
- <td>SECURE_SSL_HOST</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>SECURE_SSL_REDIRECT</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>SERVER_EMAIL</td>
- <td class="code"><pre>'root@localhost'</pre></td>
- </tr>
- <tr>
- <td>SESSION_CACHE_ALIAS</td>
- <td class="code"><pre>'default'</pre></td>
- </tr>
- <tr>
- <td>SESSION_COOKIE_AGE</td>
- <td class="code"><pre>1209600</pre></td>
- </tr>
- <tr>
- <td>SESSION_COOKIE_DOMAIN</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>SESSION_COOKIE_HTTPONLY</td>
- <td class="code"><pre>True</pre></td>
- </tr>
- <tr>
- <td>SESSION_COOKIE_NAME</td>
- <td class="code"><pre>'sessionid'</pre></td>
- </tr>
- <tr>
- <td>SESSION_COOKIE_PATH</td>
- <td class="code"><pre>'/'</pre></td>
- </tr>
- <tr>
- <td>SESSION_COOKIE_SECURE</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>SESSION_ENGINE</td>
- <td class="code"><pre>'django.contrib.sessions.backends.db'</pre></td>
- </tr>
- <tr>
- <td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>SESSION_FILE_PATH</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>SESSION_SAVE_EVERY_REQUEST</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>SESSION_SERIALIZER</td>
- <td class="code"><pre>'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
- </tr>
- <tr>
- <td>SETTINGS_MODULE</td>
- <td class="code"><pre>'FenixAuthDemo.settings'</pre></td>
- </tr>
- <tr>
- <td>SHORT_DATETIME_FORMAT</td>
- <td class="code"><pre>'m/d/Y P'</pre></td>
- </tr>
- <tr>
- <td>SHORT_DATE_FORMAT</td>
- <td class="code"><pre>'m/d/Y'</pre></td>
- </tr>
- <tr>
- <td>SIGNING_BACKEND</td>
- <td class="code"><pre>'django.core.signing.TimestampSigner'</pre></td>
- </tr>
- <tr>
- <td>SILENCED_SYSTEM_CHECKS</td>
- <td class="code"><pre>[]</pre></td>
- </tr>
- <tr>
- <td>STATICFILES_DIRS</td>
- <td class="code"><pre>[]</pre></td>
- </tr>
- <tr>
- <td>STATICFILES_FINDERS</td>
- <td class="code"><pre>['django.contrib.staticfiles.finders.FileSystemFinder',
- 'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
- </tr>
- <tr>
- <td>STATICFILES_STORAGE</td>
- <td class="code"><pre>'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
- </tr>
- <tr>
- <td>STATIC_ROOT</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>STATIC_URL</td>
- <td class="code"><pre>'/static/'</pre></td>
- </tr>
- <tr>
- <td>TEMPLATES</td>
- <td class="code"><pre>[{'APP_DIRS': True,
- 'BACKEND': 'django.template.backends.django.DjangoTemplates',
- 'DIRS': [],
- 'OPTIONS': {'context_processors': ['django.template.context_processors.debug',
- 'django.template.context_processors.request',
- 'django.contrib.auth.context_processors.auth',
- 'django.contrib.messages.context_processors.messages']}}]</pre></td>
- </tr>
- <tr>
- <td>TEST_NON_SERIALIZED_APPS</td>
- <td class="code"><pre>[]</pre></td>
- </tr>
- <tr>
- <td>TEST_RUNNER</td>
- <td class="code"><pre>'django.test.runner.DiscoverRunner'</pre></td>
- </tr>
- <tr>
- <td>THOUSAND_SEPARATOR</td>
- <td class="code"><pre>','</pre></td>
- </tr>
- <tr>
- <td>TIME_FORMAT</td>
- <td class="code"><pre>'P'</pre></td>
- </tr>
- <tr>
- <td>TIME_INPUT_FORMATS</td>
- <td class="code"><pre>['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']</pre></td>
- </tr>
- <tr>
- <td>TIME_ZONE</td>
- <td class="code"><pre>'UTC'</pre></td>
- </tr>
- <tr>
- <td>USE_ETAGS</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>USE_I18N</td>
- <td class="code"><pre>True</pre></td>
- </tr>
- <tr>
- <td>USE_L10N</td>
- <td class="code"><pre>True</pre></td>
- </tr>
- <tr>
- <td>USE_THOUSAND_SEPARATOR</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>USE_TZ</td>
- <td class="code"><pre>True</pre></td>
- </tr>
- <tr>
- <td>USE_X_FORWARDED_HOST</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>USE_X_FORWARDED_PORT</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>WSGI_APPLICATION</td>
- <td class="code"><pre>'FenixAuthDemo.wsgi.application'</pre></td>
- </tr>
- <tr>
- <td>X_FRAME_OPTIONS</td>
- <td class="code"><pre>'SAMEORIGIN'</pre></td>
- </tr>
- <tr>
- <td>YEAR_MONTH_FORMAT</td>
- <td class="code"><pre>'F Y'</pre></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div id="explanation">
- <p>
- You're seeing this error because you have <code>DEBUG = True</code> in your
- Django settings file. Change that to <code>False</code>, and Django will
- display a standard page generated by the handler for this status code.
- </p>
- </div>
- </body></html>
Add Comment
Please, Sign In to add comment