overview + center
This commit is contained in:
parent
c382e9df24
commit
9bdc303f0e
@ -1,7 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="f314243c-cf5d-48a7-b986-5e05ee924c9f" name="Default" comment="" />
|
||||
<list default="true" id="f314243c-cf5d-48a7-b986-5e05ee924c9f" name="Default" comment="">
|
||||
<change beforePath="" afterPath="$PROJECT_DIR$/cookbook/tables.py" />
|
||||
<change beforePath="" afterPath="$PROJECT_DIR$/cookbook/templates/tables/table_template.html" />
|
||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
|
||||
<change beforePath="$PROJECT_DIR$/Recipies/settings.py" afterPath="$PROJECT_DIR$/Recipies/settings.py" />
|
||||
<change beforePath="$PROJECT_DIR$/cookbook/models.py" afterPath="$PROJECT_DIR$/cookbook/models.py" />
|
||||
<change beforePath="$PROJECT_DIR$/cookbook/templates/base.html" afterPath="$PROJECT_DIR$/cookbook/templates/base.html" />
|
||||
<change beforePath="$PROJECT_DIR$/cookbook/templates/index.html" afterPath="$PROJECT_DIR$/cookbook/templates/index.html" />
|
||||
<change beforePath="$PROJECT_DIR$/cookbook/views.py" afterPath="$PROJECT_DIR$/cookbook/views.py" />
|
||||
<change beforePath="$PROJECT_DIR$/db.sqlite3" afterPath="$PROJECT_DIR$/db.sqlite3" />
|
||||
</list>
|
||||
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
|
||||
<option name="TRACKING_ENABLED" value="true" />
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
@ -42,11 +52,11 @@
|
||||
</component>
|
||||
<component name="FileEditorManager">
|
||||
<leaf>
|
||||
<file leaf-file-name="views.py" pinned="false" current-in-tab="true">
|
||||
<file leaf-file-name="views.py" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/cookbook/views.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="650">
|
||||
<caret line="26" column="26" lean-forward="true" selection-start-line="26" selection-start-column="26" selection-end-line="26" selection-end-column="26" />
|
||||
<state relative-caret-position="1125">
|
||||
<caret line="46" column="32" lean-forward="true" selection-start-line="46" selection-start-column="32" selection-end-line="46" selection-end-column="32" />
|
||||
<folding>
|
||||
<element signature="e#0#57#0" expanded="true" />
|
||||
</folding>
|
||||
@ -54,6 +64,38 @@
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="tables.py" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/cookbook/tables.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="225">
|
||||
<caret line="9" column="0" lean-forward="true" selection-start-line="9" selection-start-column="0" selection-end-line="9" selection-end-column="0" />
|
||||
<folding>
|
||||
<element signature="e#0#31#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="table_template.html" pinned="false" current-in-tab="true">
|
||||
<entry file="file://$PROJECT_DIR$/cookbook/templates/tables/table_template.html">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="406">
|
||||
<caret line="67" column="72" lean-forward="false" selection-start-line="67" selection-start-column="72" selection-end-line="67" selection-end-column="72" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="settings.py" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/Recipies/settings.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="612">
|
||||
<caret line="36" column="34" lean-forward="true" selection-start-line="36" selection-start-column="34" selection-end-line="36" selection-end-column="34" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="urls.py" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/cookbook/urls.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
@ -69,8 +111,8 @@
|
||||
<file leaf-file-name="index.html" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/cookbook/templates/index.html">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="525">
|
||||
<caret line="21" column="14" lean-forward="true" selection-start-line="21" selection-start-column="14" selection-end-line="21" selection-end-column="14" />
|
||||
<state relative-caret-position="275">
|
||||
<caret line="11" column="0" lean-forward="true" selection-start-line="11" selection-start-column="0" selection-end-line="11" selection-end-column="0" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
@ -79,8 +121,8 @@
|
||||
<file leaf-file-name="base.html" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/cookbook/templates/base.html">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="1025">
|
||||
<caret line="50" column="5" lean-forward="false" selection-start-line="50" selection-start-column="5" selection-end-line="50" selection-end-column="5" />
|
||||
<state relative-caret-position="918">
|
||||
<caret line="53" column="23" lean-forward="false" selection-start-line="53" selection-start-column="23" selection-end-line="53" selection-end-column="23" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
@ -90,7 +132,7 @@
|
||||
<entry file="file://$PROJECT_DIR$/cookbook/templates/new_category.html">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="175">
|
||||
<caret line="7" column="9" lean-forward="true" selection-start-line="7" selection-start-column="9" selection-end-line="7" selection-end-column="9" />
|
||||
<caret line="7" column="9" lean-forward="false" selection-start-line="7" selection-start-column="9" selection-end-line="7" selection-end-column="9" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
@ -99,8 +141,8 @@
|
||||
<file leaf-file-name="models.py" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/cookbook/models.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="425">
|
||||
<caret line="17" column="38" lean-forward="false" selection-start-line="17" selection-start-column="38" selection-end-line="17" selection-end-column="38" />
|
||||
<state relative-caret-position="850">
|
||||
<caret line="34" column="22" lean-forward="true" selection-start-line="34" selection-start-column="22" selection-end-line="34" selection-end-column="22" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
@ -120,6 +162,8 @@
|
||||
<findStrings>
|
||||
<find>settings.LOGIN_REDIRECT_URL</find>
|
||||
<find>LOGIN_REDIRECT_URL</find>
|
||||
<find>'django.template.context_processors.request'</find>
|
||||
<find>of</find>
|
||||
</findStrings>
|
||||
</component>
|
||||
<component name="Git.Settings">
|
||||
@ -131,17 +175,19 @@
|
||||
<option value="$PROJECT_DIR$/cookbook/admin.py" />
|
||||
<option value="$PROJECT_DIR$/cookbook/templates/registration.html" />
|
||||
<option value="$PROJECT_DIR$/cookbook/templates/registration/login.html" />
|
||||
<option value="$PROJECT_DIR$/Recipies/settings.py" />
|
||||
<option value="$PROJECT_DIR$/Recipies/urls.py" />
|
||||
<option value="$PROJECT_DIR$/cookbook/models.py" />
|
||||
<option value="$PROJECT_DIR$/cookbook/templates/registration/new_keyword.html" />
|
||||
<option value="$PROJECT_DIR$/cookbook/templates/new_recipe.html" />
|
||||
<option value="$PROJECT_DIR$/cookbook/urls.py" />
|
||||
<option value="$PROJECT_DIR$/cookbook/templates/base.html" />
|
||||
<option value="$PROJECT_DIR$/cookbook/forms.py" />
|
||||
<option value="$PROJECT_DIR$/cookbook/templates/new_category.html" />
|
||||
<option value="$PROJECT_DIR$/cookbook/views.py" />
|
||||
<option value="$PROJECT_DIR$/Recipies/settings.py" />
|
||||
<option value="$PROJECT_DIR$/cookbook/templates/index.html" />
|
||||
<option value="$PROJECT_DIR$/cookbook/templates/base.html" />
|
||||
<option value="$PROJECT_DIR$/cookbook/tables.py" />
|
||||
<option value="$PROJECT_DIR$/cookbook/models.py" />
|
||||
<option value="$PROJECT_DIR$/cookbook/views.py" />
|
||||
<option value="$PROJECT_DIR$/cookbook/templates/tables/table_template.html" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
@ -157,7 +203,9 @@
|
||||
<option name="width" value="3862" />
|
||||
<option name="height" value="2122" />
|
||||
</component>
|
||||
<component name="ProjectLevelVcsManager" settingsEditedManually="true" />
|
||||
<component name="ProjectLevelVcsManager" settingsEditedManually="true">
|
||||
<ConfirmationsSetting value="2" id="Add" />
|
||||
</component>
|
||||
<component name="ProjectView">
|
||||
<navigator currentView="ProjectPane" proportions="" version="1">
|
||||
<flattenPackages />
|
||||
@ -200,6 +248,13 @@
|
||||
<item name="templates" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="registration" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="Recipies" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="Recipies" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="cookbook" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="templates" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="tables" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="Recipies" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="Recipies" type="462c0819:PsiDirectoryNode" />
|
||||
@ -217,7 +272,7 @@
|
||||
<property name="WebServerToolWindowFactoryState" value="false" />
|
||||
<property name="DefaultHtmlFileTemplate" value="HTML File" />
|
||||
<property name="com.intellij.database.dataSource.DataSourceTemplate" value="Sqlite (Xerial)" />
|
||||
<property name="SearchEverywhereHistoryKey" value="base	FILE	file://F:/Developement/Django/Recipies/cookbook/templates/base.html mode	FILE	file://F:/Developement/Django/Recipies/cookbook/models.py model	FILE	file://F:/Developement/Django/Recipies/cookbook/models.py settin	FILE	file://F:/Developement/Django/Recipies/Recipies/settings.py" />
|
||||
<property name="SearchEverywhereHistoryKey" value="settings	FILE	file://F:/Developement/Django/Recipies/Recipies/settings.py base	FILE	file://F:/Developement/Django/Recipies/cookbook/templates/base.html mode	FILE	file://F:/Developement/Django/Recipies/cookbook/models.py model	FILE	file://F:/Developement/Django/Recipies/cookbook/models.py settin	FILE	file://F:/Developement/Django/Recipies/Recipies/settings.py" />
|
||||
</component>
|
||||
<component name="RecentsManager">
|
||||
<key name="MoveFile.RECENT_KEYS">
|
||||
@ -285,9 +340,9 @@
|
||||
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="true" content_ui="tabs" />
|
||||
<window_info id="manage.py@Recipies" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3296875" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Python Console" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.32968178" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33020344" sideWeight="0.5" order="8" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3296875" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Python Console" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32968178" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.26030254" sideWeight="0.5" order="8" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32968178" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.19920425" sideWeight="0.5" order="1" side_tool="false" content_ui="combo" />
|
||||
<window_info id="Docker" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="false" weight="0.33" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.23952255" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
||||
@ -362,14 +417,6 @@
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/cookbook/models.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="425">
|
||||
<caret line="17" column="38" lean-forward="false" selection-start-line="17" selection-start-column="38" selection-end-line="17" selection-end-column="38" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/cookbook/templates/new_recipe.html">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="200">
|
||||
@ -415,26 +462,11 @@
|
||||
<entry file="file://$PROJECT_DIR$/cookbook/templates/new_category.html">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="175">
|
||||
<caret line="7" column="9" lean-forward="true" selection-start-line="7" selection-start-column="9" selection-end-line="7" selection-end-column="9" />
|
||||
<caret line="7" column="9" lean-forward="false" selection-start-line="7" selection-start-column="9" selection-end-line="7" selection-end-column="9" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/Recipies/settings.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="700">
|
||||
<caret line="28" column="27" lean-forward="false" selection-start-line="28" selection-start-column="27" selection-end-line="28" selection-end-column="27" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="das://table:/76de5693/85add68a-b15d-441c-9865-ed9a59ea29b9/main.cookbook_recipe">
|
||||
<provider selected="true" editor-type-id="com.intellij.database.editor.DatabaseTableFileEditorProvider">
|
||||
<state>
|
||||
<filtering enabled="true" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/cookbook/urls.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="200">
|
||||
@ -445,14 +477,6 @@
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/cookbook/templates/base.html">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="1025">
|
||||
<caret line="50" column="5" lean-forward="false" selection-start-line="50" selection-start-column="5" selection-end-line="50" selection-end-column="5" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/.gitignore">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="575">
|
||||
@ -461,23 +485,86 @@
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/Recipies/settings.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="612">
|
||||
<caret line="36" column="34" lean-forward="true" selection-start-line="36" selection-start-column="34" selection-end-line="36" selection-end-column="34" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/cookbook/templates/base.html">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="918">
|
||||
<caret line="53" column="23" lean-forward="false" selection-start-line="53" selection-start-column="23" selection-end-line="53" selection-end-column="23" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/cookbook/templates/index.html">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="525">
|
||||
<caret line="21" column="14" lean-forward="true" selection-start-line="21" selection-start-column="14" selection-end-line="21" selection-end-column="14" />
|
||||
<state relative-caret-position="275">
|
||||
<caret line="11" column="0" lean-forward="true" selection-start-line="11" selection-start-column="0" selection-end-line="11" selection-end-column="0" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="das://table:/76de5693/85add68a-b15d-441c-9865-ed9a59ea29b9/main.cookbook_recipe">
|
||||
<provider selected="true" editor-type-id="com.intellij.database.editor.DatabaseTableFileEditorProvider">
|
||||
<state>
|
||||
<filtering enabled="true" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="das://table:/76de5693/85add68a-b15d-441c-9865-ed9a59ea29b9/main.cookbook_keyword">
|
||||
<provider selected="true" editor-type-id="com.intellij.database.editor.DatabaseTableFileEditorProvider">
|
||||
<state>
|
||||
<filtering enabled="true" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="das://table:/76de5693/85add68a-b15d-441c-9865-ed9a59ea29b9/main.cookbook_recipe_keywords">
|
||||
<provider selected="true" editor-type-id="com.intellij.database.editor.DatabaseTableFileEditorProvider">
|
||||
<state>
|
||||
<filtering enabled="true" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/cookbook/models.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="850">
|
||||
<caret line="34" column="22" lean-forward="true" selection-start-line="34" selection-start-column="22" selection-end-line="34" selection-end-column="22" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/cookbook/tables.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="225">
|
||||
<caret line="9" column="0" lean-forward="true" selection-start-line="9" selection-start-column="0" selection-end-line="9" selection-end-column="0" />
|
||||
<folding>
|
||||
<element signature="e#0#31#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/cookbook/views.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="650">
|
||||
<caret line="26" column="26" lean-forward="true" selection-start-line="26" selection-start-column="26" selection-end-line="26" selection-end-column="26" />
|
||||
<state relative-caret-position="1125">
|
||||
<caret line="46" column="32" lean-forward="true" selection-start-line="46" selection-start-column="32" selection-end-line="46" selection-end-column="32" />
|
||||
<folding>
|
||||
<element signature="e#0#57#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/cookbook/templates/tables/table_template.html">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="406">
|
||||
<caret line="67" column="72" lean-forward="false" selection-start-line="67" selection-start-column="72" selection-end-line="67" selection-end-column="72" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</component>
|
||||
</project>
|
@ -38,6 +38,7 @@ INSTALLED_APPS = [
|
||||
'django.contrib.sessions',
|
||||
'django.contrib.messages',
|
||||
'django.contrib.staticfiles',
|
||||
'django_tables2',
|
||||
'cookbook.apps.CookbookConfig',
|
||||
]
|
||||
|
||||
|
@ -34,3 +34,7 @@ class Recipe(models.Model):
|
||||
|
||||
def __str__(self):
|
||||
return self.name
|
||||
|
||||
@property
|
||||
def all_tags(self):
|
||||
return ', '.join([x.name for x in self.keywords.all()])
|
||||
|
9
cookbook/tables.py
Normal file
9
cookbook/tables.py
Normal file
@ -0,0 +1,9 @@
|
||||
import django_tables2 as tables
|
||||
from .models import *
|
||||
|
||||
|
||||
class RecipeTable(tables.Table):
|
||||
class Meta:
|
||||
model = Recipe
|
||||
template_name = 'tables/table_template.html'
|
||||
fields = ('name', 'category', 'all_tags')
|
@ -1,4 +1,5 @@
|
||||
{% load staticfiles %}
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<title>{% block title %}
|
||||
|
@ -1,4 +1,5 @@
|
||||
{% extends "base.html" %}
|
||||
{% load django_tables2 %}
|
||||
|
||||
{% block title %}Rezepte{% endblock %}
|
||||
|
||||
@ -6,17 +7,7 @@
|
||||
|
||||
<h1>Übersicht</h1>
|
||||
|
||||
<table class="table table-bordered table-hover">
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th>Kategorie</th>
|
||||
</tr>
|
||||
{% for recipe in recipes %}
|
||||
<tr>
|
||||
<td>{{ recipe.name }}</td>
|
||||
<td>{{ recipe.category }}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
|
||||
{% render_table recipes %}
|
||||
|
||||
{% endblock %}
|
100
cookbook/templates/tables/table_template.html
Normal file
100
cookbook/templates/tables/table_template.html
Normal file
@ -0,0 +1,100 @@
|
||||
{% load django_tables2 %}
|
||||
{% load i18n %}
|
||||
{% block table-wrapper %}
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
{% block table %}
|
||||
<table {% if table.attrs %}
|
||||
{{ table.attrs.as_html }}{% else %}class="table table-bordered table-hover"{% endif %}>
|
||||
{% block table.thead %}
|
||||
{% if table.show_header %}
|
||||
<thead>
|
||||
<tr>
|
||||
{% for column in table.columns %}
|
||||
{% if column.orderable %}
|
||||
<th {{ column.attrs.th.as_html }}><a
|
||||
href="{% querystring table.prefixed_order_by_field=column.order_by_alias.next %}">{{ column.header }}</a>
|
||||
</th>
|
||||
{% else %}
|
||||
<th {{ column.attrs.th.as_html }}>{{ column.header }}</th>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</tr>
|
||||
</thead>
|
||||
{% endif %}
|
||||
{% endblock table.thead %}
|
||||
{% block table.tbody %}
|
||||
<tbody>
|
||||
{% for row in table.page.object_list|default:table.rows %} {# support pagination #}
|
||||
{% block table.tbody.row %}
|
||||
<tr {{ row.attrs.as_html }}>
|
||||
{% for column, cell in row.items %}
|
||||
<td {{ column.attrs.td.as_html }}>
|
||||
{% if column.localize == None %}{{ cell }}{% else %}{% if column.localize %}
|
||||
{{ cell|localize }}{% else %}{{ cell|unlocalize }}
|
||||
{% endif %}{% endif %}</td>
|
||||
{% endfor %}
|
||||
</tr>
|
||||
{% endblock table.tbody.row %}
|
||||
{% empty %}
|
||||
{% if table.empty_text %}
|
||||
{% block table.tbody.empty_text %}
|
||||
<tr>
|
||||
<td colspan="{{ table.columns|length }}">{{ table.empty_text }}</td>
|
||||
</tr>
|
||||
{% endblock table.tbody.empty_text %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
{% endblock table.tbody %}
|
||||
{% block table.tfoot %}
|
||||
{% if table.has_footer %}
|
||||
<tfoot>
|
||||
<tr>
|
||||
{% for column in table.columns %}
|
||||
<td {{ column.attrs.tf.as_html }}>{{ column.footer }}</td>
|
||||
{% endfor %}
|
||||
</tr>
|
||||
</tfoot>
|
||||
{% endif %}
|
||||
{% endblock table.tfoot %}
|
||||
</table>
|
||||
{% endblock table %}
|
||||
|
||||
{% if table.page and table.paginator.num_pages > 1 %}
|
||||
{% with current_page=table.page.number page_count=table.paginator.num_pages rows_per_page=table.page.object_list|length total_rows=table.page.paginator.count %}
|
||||
{% block pagination %}
|
||||
<nav>
|
||||
<ul class="pagination justify-content-center">
|
||||
{% block pagination.allpages %}
|
||||
<li class="page-item">
|
||||
{% blocktrans %}{% endblocktrans %}
|
||||
</li>
|
||||
{% for page in table.paginator.page_range %}
|
||||
{% with range_start=current_page|add:"-3" range_end=current_page|add:"3" page_count_minus_5=page_count|add:"-5" page_count_minus_1=page_count|add:"-1" %}
|
||||
{% if page == current_page %}
|
||||
<li class="page-item active">
|
||||
<a class="page-link" href="#">{{ page }}</a>
|
||||
|
||||
</li>
|
||||
{% elif page == 1 or page >= range_start and page <= range_end or page == page_count %}
|
||||
<li class="page-item">
|
||||
<a class="page-link"
|
||||
href="{% querystring table.prefixed_page_field=page %}">{{ page }}</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
{% if page == 1 and current_page > 5 or pagina == page_count_minus_1 and current_page <= page_count_minus_5 %}
|
||||
<li class="page-item"></li>
|
||||
{% endif %}
|
||||
{% endwith %}
|
||||
{% endfor %}
|
||||
{% endblock pagination.allpages %}
|
||||
</ul>
|
||||
</nav>
|
||||
{% endblock pagination %}
|
||||
{% endwith %}
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
{% endblock table-wrapper %}
|
@ -1,11 +1,14 @@
|
||||
from django.contrib.auth.decorators import login_required
|
||||
from django.shortcuts import render, redirect
|
||||
from django_tables2 import RequestConfig
|
||||
from cookbook.forms import *
|
||||
from cookbook.tables import RecipeTable
|
||||
|
||||
|
||||
def index(request):
|
||||
recipes = Recipe.objects.all()
|
||||
return render(request, 'index.html', {'recipes': recipes})
|
||||
table = RecipeTable(Recipe.objects.all())
|
||||
RequestConfig(request, paginate={'per_page': 3}).configure(table)
|
||||
return render(request, 'index.html', {'recipes': table})
|
||||
|
||||
|
||||
@login_required
|
||||
@ -16,6 +19,7 @@ def new_recipe(request):
|
||||
recipe = form.save(commit=False)
|
||||
recipe.created_by = request.user.id
|
||||
recipe.save()
|
||||
form.save_m2m()
|
||||
return redirect('index')
|
||||
else:
|
||||
form = RecipeForm()
|
||||
|
BIN
db.sqlite3
BIN
db.sqlite3
Binary file not shown.
Loading…
Reference in New Issue
Block a user