Django Intro
django-admin startproject mysite
python manage.py migrate python manage.py runserver
python manage.py startapp blog
Bootstrapping Django
Models and Views
Step 3
First Model and Admin Interface
python manage.py makemigrations blog
python manage.py migrate blog
python manage.py createsuperuser
URL handling and HTML rendering
Step 4
url handler syntax (urls support regex !)
render(request, 'blog/post_list.html', {})url(r'^$', views.post_list, name='post_list')HTML render syntax
Simple Template
Step 5
Pass vairables
Display variables
render(request, 'blog/post_list.html', {'posts': posts})<div>{{ posts }}</div>Step 6
More Template features
{% for post in posts %}
<div>
<p>{{ post.published_date }}</p>
</div>
{% endfor %}Django Templates has "for" and "if .. else"
Forms and Templates
Step 7
<p>
<label for="id_title">Title:</label>
<input id="id_title" maxlength="200" name="title" type="text" />
</p>
<p>
<label for="id_text">Text:</label>
<textarea cols="40" id="id_text" name="text" rows="10"></textarea>
</p>{{form.as_p}}=
Step 8
Authentication
from django.contrib.auth import authenticate, login, logout
from django.contrib.auth.models import UserSimple Angular App
Step 9
function($interpolateProvider) {
$interpolateProvider.startSymbol('//');
$interpolateProvider.endSymbol('//');
}Angular basics: ng-app, ng-controller, $scope
Make angular compatible with Django Templates:
Step 10
Simple check for length
$scope.verify = function(){
if( $scope.uname.length < 10 ){
$scope.err_uname="";
}
else{
$scope.err_uname="Cannot be more than 10char";
}
}Step 11
Angular also has "for" and "if"
<div ng-if="asubmit">
<input type="submit" class="btn btn-primary" ng-click="" value="Submit" />
</div>
<div ng-if="!asubmit">
<input type="submit" class="btn btn-primary disabled" value="Submit" />
</div>
Django Intro
By Murali Suresh
Django Intro
- 648