View ==== Setup ----- First of all, create a comet template: .. code-block:: text
{$ variable $}
Learn more about :doc:`/comet` template. Define a view: .. code-block:: python # apps/core/views.py from picomet.decorators import template from picomet.views import render @template("pages/New") def new(request): context = {"variable": "hello world"} return render(request, context) Configure url: .. code-block:: python # apps/core/urls.py from django.urls import path from core import views app_name = "core" urlpatterns = [ path("new", views.new, name="new"), ] Redirect -------- class ``picomet.http.PicometResponseRedirect`` .. list-table:: :header-rows: 1 * - Parameter - Description * - request: HttpRequest - HttpRequest object * - redirect_to: str - Path to redirect * - update: bool = True - Whether to update the page after redirection * - headers: dict = None - Http headers to be sent with the response .. code-block:: python # apps/core/views.py from django.contrib.auth.forms import UserCreationForm from picomet.decorators import template from picomet.http import PicometResponseRedirect from core.models import Blog @template("Index") def index(request): context = {} form = UserCreationForm() if request.method == "POST" and not request.action: form = UserCreationForm(request.POST) if form.is_valid(): form.save() return PicometResponseRedirect(request, "/account") context["form"] = form return render(request, context) @template("pages/Blog") def blog(request, slug): blogs = Blog.objects.filter(slug=slug) if blogs.exists(): context = {"blog": blogs.first()} return render(request, context) return PicometResponseRedirect(request, "/blogs")