Respite

Screenshot Software:
Respite
Szczegóły programowe:
Wersja: 1.0.0
Filmu: 15 Apr 15
Wywoływacz: Johannes Gorset
Licencja: Wolny
Popularność: 3

Rating: nan/5 (Total Votes: 0)

Opieka zastępcza to aplikacja, która odpowiada Django Representational State Transfer (REST).
Zastosowanie
Elementarz
Opieka zastępcza wpływa Ruby on Rails, choć w duchu Pythona to nie jest aż tak "magii". To będzie jednak zaoszczędzić dużo kodu:
# Wiadomości / models.py
z django.db modeli importowych
Klasa Artykuł (models.Model):
& Nbsp; title = models.CharField (max_length = 255)
& Nbsp; content = models.TextField ()
& Nbsp; opublikowane = True
& Nbsp; created_at = models.DateTimeField (auto_now_add = True)
# Wiadomości / urls.py
z django.conf.urls.defaults import *
z respite.urls zasobu importu
z widokiem na przywóz ArticleView
urlpatterns = zasób (
& Nbsp; prefix = "news / Artykuły"
& Nbsp; view = ArticleView
)
# Wiadomości / views.py
z widokiem na import zastępczą
od importu art modeli
Klasa ArticleView (Zobacz):
& Nbsp; Model = Artykuł
& Nbsp; template_path = "news / Artykuły"
& nbsp; supported_formats = ["html", "json ']
# Szablony / Wiadomości / Artykuły / index.html


& Nbsp;
& Nbsp; {{article.title}}
& Nbsp;
& Nbsp;
& Nbsp; {% do artykułu w art%}
& Nbsp;


& Nbsp; {% endfor%}
& Nbsp;

# Szablony / Wiadomości / Artykuły / index.json
# ...
Domyślne działania
Opieka zastępcza za Zobacz klasa definiuje czynności pozwalające na przeglądanie i manipulowanie modelu wystąpień; indeks, pokaz, nowy, tworzyć, edytować i sbquo; aktualizacji i zniszczyć.
Metoda HTTP HTTP Funkcja Ścieżka Przeznaczenie
GET artykuły / index Render listę artykułów
GET artykuły / nowe nowy Render formularz, aby utworzyć nowy artykuł
Artykuły POST / create Napisz artykuł
GET artykuły / 1 pokaż Render konkretny artykuł
GET artykuły / 1 / edytuj Render formularz do edycji konkretnego artykułu
Artykuły PUT / 1 aktualizacja Edytuj konkretny artykuł
DELETE artykuły / 1 zniszczyć Usuń konkretny artykuł
W skrócie, Opieka zastępcza zapewnia zbiór cech, prawdopodobnie konieczne dla większości modeli i dróg ich restfully. Możesz zastąpić jeden lub wszystkie z tych funkcji i dostosować je jak chcesz. Na przykład, można wymienić tylko artykułów, które zostały opublikowane:
# Wiadomości / views.py
Klasa ArticleView (Zobacz):
& Nbsp; Model = Artykuł
& Nbsp; template_path = "news / Artykuły"
& nbsp; supported_formats = ["html", "json ']
& Nbsp; def index (self, wniosek):
& Nbsp; artykuły = self.model.objects.filter (opublikowane = True)
& Nbsp; return self._render (
& Nbsp; wniosek = wniosek,
& Nbsp; "Indeks" template =,
& Nbsp; context = {
& nbsp; 'artykuły': artykuły,
& Nbsp;},
& Nbsp; status = 200
& Nbsp;)
Można też zrezygnować z jednego lub kilku działań domyślnych w ogóle. Na przykład, można wdrożyć tylko indeks i pokaz działania:
# Wiadomości / urls.py
z django.conf.urls.defaults import *
z respite.urls zasobu importu
z widokiem na przywóz ArticleView
urlpatterns = zasób (
& Nbsp; prefix = "news / Artykuły"
& Nbsp; view = ArticleView,
& Nbsp; działania = ["Indeks", "pokaz"]
)
Akcje niestandardowe
Nie jesteś ograniczony do siedmiu predefiniowanych wytchnienia działań; można dodać dowolną liczbę akcji niestandardowych i wyprowadzić jednak chcesz:
# Wiadomości / urls.py
z django.conf.urls.defaults import *
z respite.urls import zasobów, działania
z widokiem na przywóz ArticleView
urlpatterns = zasób (
& Nbsp; prefix = "news / Artykuły"
& Nbsp; view = ArticleView,
& nbsp; custom_actions = [
& Nbsp; działania (
& Nbsp; regex = r '(? P [0-9] +).? / Podgląd [a-zA-Z] * $ ",
& Nbsp; Funkcja = "Podgląd",
& Nbsp; metody = ['GET'],
& Nbsp; name = "preview_news_article"
& Nbsp;)
& Nbsp;]
)
# Wiadomości / views.py
z widokiem na import zastępczą
od importu art modeli
Klasa ArticleView (Zobacz):
& Nbsp; Model = Artykuł
& Nbsp; template_path = "news / Artykuły"
& nbsp; supported_formats = ["html", "json ']
& Nbsp; podgląd def (self, żądania, id):
& Nbsp; artykuł = Article.objects.get (id = id)
& Nbsp; return self._render (
& Nbsp; wniosek = wniosek,
& Nbsp; template = "Podgląd",
& Nbsp; context = {
& Nbsp; "wyrób": artykuł
& Nbsp;},
& Nbsp; status = 200
& Nbsp;)
instalacji
- Pip install git + http: //github.com/jgorset/respite.git
- Dodaj wytchnienia INSTALLED_APPS w pliku ustawień
- Dodaj respite.middleware.HTTPPUTMiddleware do MIDDLEWARE_CLASSES w pliku ustawień
Jeśli nie tylko na budowaniu API, możesz również dodać respite.middleware.HTTPMethodOverrideMiddleware swoich klas pośredniej; ułatwia nadrzędnych metodę HTTP z nagłówka HTTP X-Override lub metoda parametr POST _method HTTP, który jest jedynym sposobem, aby aktualizować (HTTP PUT) i usuwać (HTTP DELETE) środki z poziomu przeglądarki internetowej.

Wymagania :

  • Python
  • Django

Inne programy z deweloperem Johannes Gorset

Fandjango

20 Feb 15

Kronos
Kronos

14 Apr 15

Fandjango
Fandjango

12 May 15

Komentarze do Respite

Komentarze nie znaleziono
Dodaj komentarz
Włącz zdjęć!