A Django-spaceview egy Django app, amely apja app függőség újrafelhasználható alkalmazások, tárgy és háttere hozzáférés segítségével névterek és az osztály bázis kilátást.
Telepítés
In settings.py:
Telepítse az app:
& Nbsp; & nbsp; & nbsp; INSTALLED_APPS = [
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; ...
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "Spaceview",
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; ...
& Nbsp; & nbsp; & nbsp; ]
hozzáadjuk a middleware
& Nbsp; & nbsp; & nbsp; MIDDLEWARE_CLASSES = [
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; ...
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "Spaceview.middleware.SpaceviewMiddleware"
& Nbsp; & nbsp; & nbsp; ]
megteremtse a változó SPACEVIEW_SPACES mint egy szóközzel megtekintés
& Nbsp; & nbsp; & nbsp; # Settings.py
& Nbsp; & nbsp; & nbsp; ...
& Nbsp; & nbsp; & nbsp; SPACEVIEW_SPACES = [
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "Myproject.apps.myapp.views.MyappSpace",
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; ...
& Nbsp; & nbsp; & nbsp; ]
& Nbsp; & nbsp; & nbsp; ...
Hely létrehozása megtekintése az újrafelhasználható app, és kezelni, mint egy részlete View (Class Base View)
& Nbsp; & nbsp; & nbsp; # Myapp / views.py
& Nbsp; & nbsp; & nbsp; a __future__ import absolute_import
& Nbsp; & nbsp; & nbsp; a spaceview.views import SpaceView
& Nbsp; & nbsp; & nbsp; a .models importálni MyApp
& Nbsp; & nbsp; & nbsp; osztály ProjectSpace (SpaceView):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; névtér = 'myapp "
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Modell = MyApp
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; context_object_name = "myapp"
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; slug_url_kwarg = 'myapp_slug "
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; sablon_neve = 'myapp / myapp_base.html "
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; def get_context_data (self, ** kwargs):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; context = super (ProjectSpace, self) .get_context_data (** kwargs)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; összefüggésben ['ize'] = self.object.foo ()
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; visszatérés keretében
Használat
Olvassa névtér url Django docs;)
& Nbsp; & nbsp; & nbsp; # Myapp / urls.py
& Nbsp; & nbsp; & nbsp; ...
& Nbsp; & nbsp; & nbsp; urlpatterns = minták ('',
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; ...
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; url (r "^ (? P
& Nbsp; & nbsp; & nbsp; )
Most akkor érheti el a teret tárgyak újrafelhasználható app megtekintés
& Nbsp; & nbsp; & nbsp; # Reusableapp / view.py
& Nbsp; & nbsp; & nbsp; ...
& Nbsp; & nbsp; & nbsp; osztály ReusableappView (FooView):
& Nbsp; & nbsp; & nbsp; Modell = ReusableApp
& Nbsp; & nbsp; & nbsp; context_object_name = "reusableapp"
& Nbsp; & nbsp; & nbsp; sablon_neve = "reusableapp / reusableapp_foo.html"
& Nbsp; & nbsp; & nbsp; method_decorator (login_required)
& Nbsp; & nbsp; & nbsp; def feladó (self, kérésre, * args, ** kwargs):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; space = request.space.object
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; ha nem space.foo_permission ():
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; HttpResponseForbidden ()
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; vissza super (MemberUpdateSetView, self) .dispatch (kérésre, * args, ** kwargs)
Változók
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; request.resolve, url elhatározás tárgya
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; request.space, a tér-view objektum viszonyítva utolsó névtér elhatározás url
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; request.spaces, dict névtér egy helyet néző tárgy
követelmények :
- Python
- Django
Hozzászólás nem található