python_wiki:django_configuration

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
python_wiki:django_configuration [2018/08/03 16:03]
billdozor [Page Content: Stats]
python_wiki:django_configuration [2019/05/25 23:50] (current)
Line 3: Line 3:
 **General Information** **General Information**
  
-Configuring the Django Web Framework and its dependencies. +Configuring the Django Web Framework and its dependencies.
  
 +\\
 +The **EXAMPLE** sections of code end up building an inventory website.
 +
 +\\
 **Checklist** **Checklist**
   * [[python_wiki:django_install|Django installed]]   * [[python_wiki:django_install|Django installed]]
Line 24: Line 28:
   * Run secure setup<code bash>mysql_secure_installation</code>   * Run secure setup<code bash>mysql_secure_installation</code>
     * Prompts for the following:     * Prompts for the following:
 +      * Current password for root (should be none, just press enter)
       * Set database root password       * Set database root password
       * Remove anonymous users       * Remove anonymous users
Line 46: Line 51:
 Configuring Django. Configuring Django.
  
-  * Verify django works<code bash>python+  * Verify django works<code python>python
 >>> import django >>> import django
 >>> print(django.get_version()) >>> print(django.get_version())
Line 113: Line 118:
   #asset_type choices   #asset_type choices
   DEVICE_TYPES = (    DEVICE_TYPES = ( 
-    ('Firewall', 'Firewall'),  +    ('Firewalls', 'Firewalls'),  
-    ('Router', 'Router'),  +    ('Routers', 'Routers'),  
-    ('Server', 'Server'), +    ('Servers', 'Servers'), 
     ('Storage', 'Storage'),      ('Storage', 'Storage'), 
-    ('Switch', 'Switch'),  +    ('Switches', 'Switches'),  
-    ('Workstation', 'Workstation'),+    ('Workstations', 'Workstations'),
   )   )
  
Line 231: Line 236:
   * Create logging directory and setup ownership/permissions<code bash>mkdir /var/log/myprojecthere   * Create logging directory and setup ownership/permissions<code bash>mkdir /var/log/myprojecthere
 chown :apache /var/log/myprojecthere chown :apache /var/log/myprojecthere
-chmod g+rwx /var/log/myprojecthere</code>+chmod g+rwxs /var/log/myprojecthere</code>
  
 ===== Admin Interface ===== ===== Admin Interface =====
Line 237: Line 242:
   * Create an admin user<code bash>python manage.py createsuperuser</code>   * Create an admin user<code bash>python manage.py createsuperuser</code>
  
-  * Make your models/objects available for editing in the admin portal (/home/django/myprojecthere/myapphere/admin.py)<code bash># -*- coding: utf-8 -*-+  * Make your models/objects available for editing in the admin portal (/home/django/myprojecthere/myapphere/admin.py)<code python># -*- coding: utf-8 -*-
 from __future__ import unicode_literals from __future__ import unicode_literals
  
Line 290: Line 295:
   url(r'^(?P<env_name>(dev|test|prod))/$', views.env, name='env'),   url(r'^(?P<env_name>(dev|test|prod))/$', views.env, name='env'),
  
-  # /myapphere/device/  - Specific Device, All Environments +  # /myapphere/device_type/  - Specific Device, All Environments 
-  url(r'^(?P<device>(servers|workstations|switches|routers|firewalls))/$', views.device, name='device'),+  url(r'^(?P<device_type>(firewalls|routers|servers|storage|switches|workstations))/$', views.asset_type_all_env, name='asset_type_all_env'),
  
-  # /myapphere/device/env_name  -  Specific Device, Specific Environment +  # /myapphere/device_type/env_name  -  Specific Device, Specific Environment 
-  url(r'^(?P<device>(servers|workstations|switches|routers|firewalls))/(?P<env_name>(dev|test|prod))/$', views.device_env, name='device_env'),+  url(r'^(?P<device_type>(firewalls|routers|servers|storage|switches|workstations))/(?P<env_name>(dev|test|prod))/$', views.type_env, name='type_env'), 
 + 
 +  # /myapphere/<asset_hardware> - Physical or Virtual 
 +  url(r'^(?P<asset_hardware>(physical|virtual))/$', views.asset_hardware, name='asset_hardware'),
 ]</code> ]</code>
  
Line 899: Line 907:
  <thead>  <thead>
   <tr class="myapphere">   <tr class="myapphere">
-    <th class="myapphere">Device</th>+    <th class="myapphere">Device Type</th>
     <th class="myapphere">Name</th>     <th class="myapphere">Name</th>
     <th class="myapphere">Description</th>     <th class="myapphere">Description</th>
     <th class="myapphere">Environment</th>     <th class="myapphere">Environment</th>
     <th class="myapphere">OS</th>     <th class="myapphere">OS</th>
-    <th class="myapphere">Type</th>+    <th class="myapphere">Hardware</th>
   </tr>   </tr>
  </thead>  </thead>
  <tbody  <tbody
-  {% for name in all_assets_list %}+  {% for name in all_asset_list %}
     <tr class="myapphere">     <tr class="myapphere">
       <td class="myapphere">{{ name.asset_type }}</td>       <td class="myapphere">{{ name.asset_type }}</td>
Line 1543: Line 1551:
 <a href="#" class="plain" onclick="$('#assetlist').tableExport({type:'excel',escape:'false'});"><img src="{% static 'myapphere/xls.png' %}" width="24px" title="Export Excel"></a></code> <a href="#" class="plain" onclick="$('#assetlist').tableExport({type:'excel',escape:'false'});"><img src="{% static 'myapphere/xls.png' %}" width="24px" title="Export Excel"></a></code>
  
 +----
 +
 +====== Django: Static Files ======
 +
 +No matter which steps from above you skip, you absolutely need to collect static files to copy them into the location Apache expects them to be.
 +
 +This is for Apache's access to javascript, css, etc.
   * Collect static files<code bash>cd /home/django/myprojecthere/   * Collect static files<code bash>cd /home/django/myprojecthere/
 python manage.py collectstatic</code> python manage.py collectstatic</code>
 +
 +----
 +
 +====== DEBUG: TURN OFF ======
 +
 +Lastly, when you are not developing/debugging your site, **turn off debug mode** to avoid dumping sensitive information to the screen in the event of an error.
 +
 +\\
 +Edit the project settings (/home/django/myprojecthere/myprojecthere/settings.py)<code python># SECURITY WARNING: don't run with debug turned on in production!
 +DEBUG = False</code>
 +
 +----
 +
 +====== Next Steps =======
 +
 +[[python_wiki:django_api|Proceed to the Django API]] section.
  
 ---- ----
  
  • python_wiki/django_configuration.1533326623.txt.gz
  • Last modified: 2019/05/25 23:50
  • (external edit)