basic api

This commit is contained in:
vabene1111 2018-02-05 11:45:09 +01:00
parent 42aeeb569b
commit 6a93e9d28e
5 changed files with 134 additions and 78 deletions

View File

@ -2,14 +2,11 @@
<project version="4">
<component name="ChangeListManager">
<list default="true" id="f314243c-cf5d-48a7-b986-5e05ee924c9f" name="Default" comment="">
<change beforePath="" afterPath="$PROJECT_DIR$/.idea/dictionaries/vabene1111.xml" />
<change beforePath="" afterPath="$PROJECT_DIR$/Recipies/secret_settings.py" />
<change beforePath="" afterPath="$PROJECT_DIR$/Recipies/secret_settings.template" />
<change beforePath="$PROJECT_DIR$/.gitignore" afterPath="$PROJECT_DIR$/.gitignore" />
<change beforePath="$PROJECT_DIR$/.idea/Recipies.iml" afterPath="$PROJECT_DIR$/.idea/Recipies.iml" />
<change beforePath="$PROJECT_DIR$/.idea/misc.xml" afterPath="$PROJECT_DIR$/.idea/misc.xml" />
<change beforePath="" afterPath="$PROJECT_DIR$/cookbook/api.py" />
<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/urls.py" afterPath="$PROJECT_DIR$/cookbook/urls.py" />
<change beforePath="$PROJECT_DIR$/requirements.txt" afterPath="$PROJECT_DIR$/requirements.txt" />
</list>
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
<option name="TRACKING_ENABLED" value="true" />
@ -43,20 +40,44 @@
<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="1125">
<caret line="51" column="39" lean-forward="false" selection-start-line="51" selection-start-column="39" selection-end-line="51" selection-end-column="39" />
<state relative-caret-position="275">
<caret line="11" column="53" lean-forward="false" selection-start-line="11" selection-start-column="47" selection-end-line="11" selection-end-column="53" />
<folding>
<element signature="e#0#57#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="api.py" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/cookbook/api.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="500">
<caret line="20" column="17" lean-forward="false" selection-start-line="20" selection-start-column="17" selection-end-line="20" selection-end-column="17" />
<folding>
<element signature="e#0#15#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<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="675">
<caret line="27" column="27" lean-forward="false" selection-start-line="27" selection-start-column="27" selection-end-line="27" selection-end-column="27" />
<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">
<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">
<state relative-caret-position="325">
<caret line="13" column="38" lean-forward="false" selection-start-line="13" selection-start-column="38" selection-end-line="13" selection-end-column="38" />
<state relative-caret-position="300">
<caret line="12" column="42" lean-forward="false" selection-start-line="12" selection-start-column="42" selection-end-line="12" selection-end-column="42" />
<folding>
<element signature="e#309#318#0" expanded="true" />
<element signature="e#0#28#0" expanded="true" />
</folding>
</state>
</provider>
@ -65,18 +86,8 @@
<file leaf-file-name="secret_settings.py" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/Recipies/secret_settings.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="50">
<caret line="2" column="23" lean-forward="false" selection-start-line="2" selection-start-column="23" selection-end-line="2" selection-end-column="23" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="secret_settings.template" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/Recipies/secret_settings.template">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="100">
<caret line="4" column="68" lean-forward="false" selection-start-line="4" selection-start-column="68" selection-end-line="4" selection-end-column="68" />
<state relative-caret-position="625">
<caret line="25" column="0" lean-forward="false" selection-start-line="25" selection-start-column="0" selection-end-line="25" selection-end-column="0" />
<folding />
</state>
</provider>
@ -118,19 +129,20 @@
<option value="$PROJECT_DIR$/cookbook/templates/registration/login.html" />
<option value="$PROJECT_DIR$/cookbook/filters.py" />
<option value="$PROJECT_DIR$/.gitignore" />
<option value="$PROJECT_DIR$/requirements.txt" />
<option value="$PROJECT_DIR$/cookbook/templates/index.html" />
<option value="$PROJECT_DIR$/cookbook/models.py" />
<option value="$PROJECT_DIR$/cookbook/templates/base.html" />
<option value="$PROJECT_DIR$/cookbook/templates/new_category.html" />
<option value="$PROJECT_DIR$/cookbook/templates/new_keyword.html" />
<option value="$PROJECT_DIR$/cookbook/urls.py" />
<option value="$PROJECT_DIR$/cookbook/tables.py" />
<option value="$PROJECT_DIR$/cookbook/views.py" />
<option value="$PROJECT_DIR$/cookbook/forms.py" />
<option value="$PROJECT_DIR$/Recipies/settings.py" />
<option value="$PROJECT_DIR$/Recipies/secret_settings.py" />
<option value="$PROJECT_DIR$/Recipies/secret_settings.template" />
<option value="$PROJECT_DIR$/requirements.txt" />
<option value="$PROJECT_DIR$/Recipies/settings.py" />
<option value="$PROJECT_DIR$/cookbook/urls.py" />
<option value="$PROJECT_DIR$/cookbook/api.py" />
</list>
</option>
</component>
@ -214,7 +226,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="forms&#9;FILE&#9;file://C:/Users/bene/Documents/Developement/Django/recipies/cookbook/forms.py&#10;new_&#9;FILE&#9;file://C:/Users/bene/Documents/Developement/Django/recipies/cookbook/templates/new_keyword.html&#10;tabl&#9;FILE&#9;file://C:/Users/bene/Documents/Developement/Django/recipies/cookbook/tables.py&#10;tablees&#9;null&#9;null&#10;base&#9;FILE&#9;file://C:/Users/bene/Documents/Developement/Django/recipies/cookbook/templates/base.html&#10;models&#9;FILE&#9;file://C:/Users/bene/Documents/Developement/Django/recipies/cookbook/models.py&#10;view&#9;FILE&#9;file://C:/Users/bene/Documents/Developement/Django/recipies/cookbook/views.py&#10;sett&#9;FILE&#9;file://C:/Users/bene/Documents/Developement/Django/recipies/Recipies/settings.py&#10;setting&#9;FILE&#9;file://F:/Developement/Django/Recipies/Recipies/settings.py&#10;model&#9;FILE&#9;file://F:/Developement/Django/Recipies/cookbook/models.py&#10;settings&#9;FILE&#9;file://F:/Developement/Django/Recipies/Recipies/settings.py&#10;mode&#9;FILE&#9;file://F:/Developement/Django/Recipies/cookbook/models.py&#10;settin&#9;FILE&#9;file://F:/Developement/Django/Recipies/Recipies/settings.py" />
<property name="SearchEverywhereHistoryKey" value="models&#9;FILE&#9;file://F:/Developement/Django/Recipies/cookbook/models.py&#10;forms&#9;FILE&#9;file://C:/Users/bene/Documents/Developement/Django/recipies/cookbook/forms.py&#10;new_&#9;FILE&#9;file://C:/Users/bene/Documents/Developement/Django/recipies/cookbook/templates/new_keyword.html&#10;tabl&#9;FILE&#9;file://C:/Users/bene/Documents/Developement/Django/recipies/cookbook/tables.py&#10;tablees&#9;null&#9;null&#10;base&#9;FILE&#9;file://C:/Users/bene/Documents/Developement/Django/recipies/cookbook/templates/base.html&#10;view&#9;FILE&#9;file://C:/Users/bene/Documents/Developement/Django/recipies/cookbook/views.py&#10;sett&#9;FILE&#9;file://C:/Users/bene/Documents/Developement/Django/recipies/Recipies/settings.py&#10;setting&#9;FILE&#9;file://F:/Developement/Django/Recipies/Recipies/settings.py&#10;model&#9;FILE&#9;file://F:/Developement/Django/Recipies/cookbook/models.py&#10;settings&#9;FILE&#9;file://F:/Developement/Django/Recipies/Recipies/settings.py&#10;mode&#9;FILE&#9;file://F:/Developement/Django/Recipies/cookbook/models.py&#10;settin&#9;FILE&#9;file://F:/Developement/Django/Recipies/Recipies/settings.py" />
<property name="last_opened_file_path" value="$PROJECT_DIR$/venv" />
</component>
<component name="RecentsManager">
@ -283,15 +295,15 @@
<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="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="false" show_stripe_button="true" weight="0.32915568" 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.25821596" 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.32915568" sideWeight="0.5" order="4" 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.25821596" 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.3286385" 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.17771883" 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.23925729" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="SciView" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Favorites" active="false" anchor="left" 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="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.39973614" sideWeight="0.5" order="9" side_tool="false" content_ui="tabs" />
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.39958268" sideWeight="0.5" order="9" side_tool="false" content_ui="tabs" />
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="10" side_tool="false" content_ui="tabs" />
<window_info id="Message" 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="6" side_tool="false" content_ui="tabs" />
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
@ -317,18 +329,11 @@
</properties>
</breakpoint>
</default-breakpoints>
<option name="time" value="6" />
<option name="time" value="8" />
</breakpoint-manager>
<watches-manager />
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/Recipies/urls.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="575">
<caret line="23" column="1" lean-forward="true" selection-start-line="23" selection-start-column="1" selection-end-line="23" selection-end-column="1" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cookbook/forms.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="425">
@ -403,7 +408,9 @@
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0">
<caret line="0" column="49" lean-forward="false" selection-start-line="0" selection-start-column="49" selection-end-line="0" selection-end-column="49" />
<folding />
<folding>
<element signature="e#0#57#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
@ -474,7 +481,6 @@
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/venv/pyvenv.cfg" />
<entry file="file://$PROJECT_DIR$/requirements.txt" />
<entry file="file://$PROJECT_DIR$/.gitignore">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1358">
@ -492,14 +498,6 @@
</entry>
<entry file="das://table:/56d3b8/f5b7f69c-b9f9-4846-8e67-767055475cbc/main.cookbook_category" />
<entry file="das://table:/56d3b8/f5b7f69c-b9f9-4846-8e67-767055475cbc/main.cookbook_keyword" />
<entry file="file://$PROJECT_DIR$/cookbook/models.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="145">
<caret line="5" column="57" lean-forward="false" selection-start-line="5" selection-start-column="57" selection-end-line="5" selection-end-column="57" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cookbook/templates/new_category.html">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="522">
@ -521,13 +519,6 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cookbook/urls.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="319">
<caret line="11" column="48" lean-forward="false" selection-start-line="11" selection-start-column="48" selection-end-line="11" selection-end-column="48" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cookbook/templates/index.html">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="29">
@ -552,14 +543,6 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cookbook/views.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1125">
<caret line="51" column="39" lean-forward="false" selection-start-line="51" selection-start-column="39" selection-end-line="51" selection-end-column="39" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Recipies/__init__.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0">
@ -568,31 +551,75 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Recipies/settings.py">
<entry file="file://$PROJECT_DIR$/Recipies/secret_settings.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="325">
<caret line="13" column="38" lean-forward="false" selection-start-line="13" selection-start-column="38" selection-end-line="13" selection-end-column="38" />
<folding>
<element signature="e#309#318#0" expanded="true" />
</folding>
<state relative-caret-position="625">
<caret line="25" column="0" lean-forward="false" selection-start-line="25" selection-start-column="0" selection-end-line="25" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Recipies/secret_settings.py">
<entry file="file://$PROJECT_DIR$/requirements.txt">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="50">
<caret line="2" column="23" lean-forward="false" selection-start-line="2" selection-start-column="23" selection-end-line="2" selection-end-column="23" />
<state relative-caret-position="100">
<caret line="4" column="19" lean-forward="false" selection-start-line="4" selection-start-column="19" selection-end-line="4" selection-end-column="19" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cookbook/models.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="675">
<caret line="27" column="27" lean-forward="false" selection-start-line="27" selection-start-column="27" selection-end-line="27" selection-end-column="27" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Recipies/secret_settings.template">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="100">
<caret line="4" column="68" lean-forward="false" selection-start-line="4" selection-start-column="68" selection-end-line="4" selection-end-column="68" />
<state relative-caret-position="700">
<caret line="28" column="15" lean-forward="false" selection-start-line="28" selection-start-column="0" selection-end-line="28" selection-end-column="15" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Recipies/settings.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="575">
<caret line="24" column="29" lean-forward="true" selection-start-line="24" selection-start-column="29" selection-end-line="24" selection-end-column="29" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cookbook/views.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="275">
<caret line="11" column="53" lean-forward="false" selection-start-line="11" selection-start-column="47" selection-end-line="11" selection-end-column="53" />
<folding>
<element signature="e#0#57#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cookbook/urls.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="300">
<caret line="12" column="42" lean-forward="false" selection-start-line="12" selection-start-column="42" selection-end-line="12" selection-end-column="42" />
<folding>
<element signature="e#0#28#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cookbook/api.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="500">
<caret line="20" column="17" lean-forward="false" selection-start-line="20" selection-start-column="17" selection-end-line="20" selection-end-column="17" />
<folding>
<element signature="e#0#15#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</component>
</project>

View File

@ -38,6 +38,7 @@ INSTALLED_APPS = [
'django_tables2',
'django_filters',
'crispy_forms',
'rest_framework',
'cookbook.apps.CookbookConfig',
]

25
cookbook/api.py Normal file
View File

@ -0,0 +1,25 @@
import requests
import json
from .models import Recipe
from django.conf import settings
from rest_framework.decorators import api_view
from rest_framework.response import Response
@api_view(['GET'])
def get_file_link(request, recipe_id):
recipe = Recipe.objects.get(id=recipe_id)
url = "https://api.dropboxapi.com/2/sharing/create_shared_link"
headers = {
"Authorization": "Bearer " + settings.DROPBOX_API_KEY,
"Content-Type": "application/json"
}
data = {
"path": ""
}
r = requests.post(url, headers=headers, data=json.dumps(data))
return Response(r.content)

View File

@ -1,6 +1,6 @@
from django.urls import path
from . import views
from . import views,api
urlpatterns = [
path('', views.index, name='index'),
@ -10,4 +10,5 @@ urlpatterns = [
path('edit_recipe/<int:id>/', views.edit_recipe, name='edit_recipe'),
path('edit_category/<int:id>/', views.edit_category, name='edit_category'),
path('edit_keyword/<int:id>/', views.new_keyword, name='edit_keyword'),
path('api/get_file_link/<int:recipe_id>/', api.get_file_link, name='get_file_link'),
]

View File

@ -1,4 +1,6 @@
requests
django
django-tables2
django-filter
django-crispy-forms
django-crispy-forms
djangorestframework