Respite

Software skärmdump:
Respite
Mjukvaruinformation:
Version: 1.0.0
Ladda upp dagen: 15 Apr 15
Utvecklare: Johannes Gorset
Licens: Gratis
Popularitet: 3

Rating: nan/5 (Total Votes: 0)

Andrum är en app som uppfyller Django till Representational State Transfer (REST).
Användning
Primer
Anstånd påverkas av Ruby on Rails, men i en anda av Python är det inte alls lika "magiskt". Det kommer dock att spara en hel del kod:
# Nyheter / models.py
från django.db importmodeller
klass artikel (models.Model):
& Nbsp; title = models.CharField (MAX_LENGTH = 255)
& Nbsp; content = models.TextField ()
& Nbsp; publicerat = Sant
& Nbsp; created_at = models.DateTimeField (auto_now_add = sant)
# Nyheter / urls.py
från django.conf.urls.defaults importera *
från respite.urls import resurs
från vyer importartikeln
urlpatterns = resurs (
& Nbsp; prefix = 'nyheter / artiklar ",
& Nbsp; view = artikeln
)
# Nyheter / views.py
från andrum import Vy
från modeller import artikel
klass artikeln (Visa):
& Nbsp; modell = artikel
& Nbsp; template_path = 'nyheter / artiklar "
& nbsp; supported_formats = ['html', 'json']
# mallar / nyheter / artiklar / index.html


& Nbsp;
& Nbsp; {{article.title}}
& Nbsp;
& Nbsp;
& Nbsp; {% för artikel i artiklar%}
& Nbsp;


& Nbsp;

{{article.title}}


& Nbsp; {{article.created_at}}
& Nbsp;


& Nbsp; {{article.content}}
& Nbsp;


& Nbsp;

& Nbsp; {% EndFor%}
& Nbsp;

# mallar / nyheter / artiklar / index.json
# ...
Standard åtgärder
Anstånd beskådar klassen definierar åtgärder för visning och manipulera modell instanser; index, show, nytt, skapa, redigera & sbquo; uppdatera och förstöra.
HTTP-metoden HTTP bana Funktion Syfte
GET artiklar / index Render en lista med artiklar
GET artiklar / nya nya Render ett formulär för att skapa en ny artikel
POST artiklar / Skapa Skapa en ny artikel
GET artiklar / 1 show Render en specifik artikel
GET artiklar / 1 / redigera redigera Render ett formulär för att redigera en specifik artikel
PUT artiklar / 1 uppdaterings Redigera en särskild artikel
DELETE artiklar / 1 förstör bort en specifik artikel
I ett nötskal, Andrum ger dig en samling av funktioner du behöver antagligen för de flesta av dina modeller och rutter dem restfully. Du kan åsidosätta någon eller alla av dessa funktioner och anpassa dem som du vill. Till exempel kan du bara räkna upp artiklar som har publicerats:
# Nyheter / views.py
klass artikeln (Visa):
& Nbsp; modell = artikel
& Nbsp; template_path = 'nyheter / artiklar "
& nbsp; supported_formats = ['html', 'json']
& Nbsp; def index (själv, begäran):
& Nbsp; artiklar = self.model.objects.filter (publicerad = sant)
& Nbsp; retur self._render (
& Nbsp; begäran = begäran,
& Nbsp; mall = "index",
& Nbsp; context = {
& nbsp; "artiklar": artiklar,
& Nbsp;},
& Nbsp; status = 200
& Nbsp;)
Du kan också utelämna en eller flera av de standardåtgärder helt och hållet. Till exempel kan du bara genomföra index och visa åtgärder:
# Nyheter / urls.py
från django.conf.urls.defaults importera *
från respite.urls import resurs
från vyer importartikeln
urlpatterns = resurs (
& Nbsp; prefix = 'nyheter / artiklar ",
& Nbsp; view = artikeln,
& Nbsp; åtgärder = ['index', 'show']
)
Anpassade åtgärder
Du är inte begränsad till avlastnings sju fördefinierade åtgärder; du kan lägga till valfritt antal anpassade åtgärder och dra dem du dock vilja:
# Nyheter / urls.py
från django.conf.urls.defaults importera *
från respite.urls importera resurs, action
från vyer importartikeln
urlpatterns = resurs (
& Nbsp; prefix = 'nyheter / artiklar ",
& Nbsp; view = artikeln,
& nbsp; custom_actions = [
& Nbsp; åtgärd (
& Nbsp; regex = r '(? P [0-9] +).? / Förhandsgranskning [a-zA-Z] * $',
& Nbsp; funktion = 'förhandsgranskning',
& Nbsp; metoder = ['GET'],
& Nbsp; name = 'preview_news_article'
& Nbsp;)
& Nbsp;]
)
# Nyheter / views.py
från andrum import Vy
från modeller import artikel
klass artikeln (Visa):
& Nbsp; modell = artikel
& Nbsp; template_path = 'nyheter / artiklar "
& nbsp; supported_formats = ['html', 'json']
& Nbsp; def förhandsgranskning (själv, begäran, id):
& Nbsp; artikeln = Article.objects.get (id = id)
& Nbsp; retur self._render (
& Nbsp; begäran = begäran,
& Nbsp; mall = 'förhandsgranskning',
& Nbsp; context = {
& Nbsp; 'artikel ": artikeln
& Nbsp;},
& Nbsp; status = 200
& Nbsp;)
Installation
- Pip installera git + http: //github.com/jgorset/respite.git
- Lägg respit till INSTALLED_APPS i inställningsfilen
- Lägg respite.middleware.HTTPPUTMiddleware till MIDDLEWARE_CLASSES i inställningsfilen
Om du inte bara bygga ett API, kanske du också vill lägga respite.middleware.HTTPMethodOverrideMiddleware till dina middle klasser; det underlättar för överstyrning av HTTP-metoden med X-HTTP-metod-Åsido header eller en _method HTTP POST parameter, vilket är det enda sättet att uppdatera (HTTP PUT) och radera (HTTP DELETE) resurser från en webbläsare.

Krav :

  • Python
  • Django

Annan programvara för utvecklare Johannes Gorset

Kronos
Kronos

14 Apr 15

django-shortcuts
django-shortcuts

20 Feb 15

Kommentarer till Respite

Kommentarer hittades inte
Kommentar
Slå på bilder!