Skip to content

Instantly share code, notes, and snippets.

@jcfrank
Last active August 29, 2015 14:13
Show Gist options
  • Save jcfrank/4a0845f886118880d85b to your computer and use it in GitHub Desktop.
Save jcfrank/4a0845f886118880d85b to your computer and use it in GitHub Desktop.
A django app sample. Only to remind myself how to set up django urls and views.

Simple Django app

New a root app

$ django-admin.py startproject mysite
$ cd mysite
$ python manage.py startapp myrestapp

mysite/settings.py

"""
some other code
"""
INSTALLED_APPS = (
    '...',
    'rest_framework',
    'django_filters',
    'myrestapp',
)

mysite/urls.py

from django.conf.urls import patterns, include, url
from django.contrib import admin
import myrestapp

urlpatterns = patterns('',
    # Examples:
    # url(r'^$', 'blogsite.views.home', name='home'),
    # url(r'^blog/', include('blog.urls')),

    url(r'^admin/', include(admin.site.urls)),
    url(r'^rest/', include('myrestapp.urls')),
)

myrestapp/urls.py

Uses django rest framework, ApiView.

from django.conf.urls import patterns, include, url
from myrestapp import views

urlpatterns = patterns('',
    # Examples:
    # url(r'^$', 'blogsite.views.home', name='home'),
    # url(r'^blog/', include('blog.urls')),

    url(r'^articles/$', views.listAll),
    url(r'^apis/?$', views.ApiResource.as_view()),
)

myrestapp/views.py

Handle logics here, interact with models.

from django.shortcuts import render
from django.http import HttpResponse
from rest_framework.views import APIView
from rest_framework.response import Response

# Create your views here.

def listAll(request):
    html = "list all articles."
    return HttpResponse(html)

class ApiResource(APIView):
    def get(self, request, format=None):
        value = {"value": "list all users", "count": 0}
        return Response(value)

Run

$ python manage.py syncdb
$ python manage.py runserver

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment