一、首先我們用PyCharm來創建一個Django項目
終端命令:django-admin startproject sitename
圖形創建:


這樣一個Django項目就創建完成了,上面可以看到項目的一個結構
接下來創建一個APP
二、創建APP
進入到項目所在目錄執行命令
C:\Users\yangmingwei\PycharmProjects\yangmv>
python manage.py startapp web

上圖可以看到APP的一個結構
常用命令:
python manage.py runserver 127.0.0.1:8080 運行
python manage.py startapp appname 創建app
python manage.py syncdb
python manage.py makemigrations
python manage.py migrate
python manage.py syncdb 同步數據庫
python manage.py createsuperuser 創建用戶
三、運行
python manage.py runserver 0.0.0.0:8080

這樣一個APP就運行起來了
python manage.py syncdb 建立數據庫,創建用戶后,即可登陸Django admin后台
http://127.0.0.1:8000/admin/

四、添加一個url頁面



五、模板渲染
用法和jinja2相同



六、模版語言
模板中也有自己的語言,該語言可以實現數據展示
- {{ item }}
- {% for item in item_list %} <a>{{ item }}</a> {% endfor %} //for循環
forloop.counter //計數器
forloop.first //第一個
forloop.last - {% if ordered_warranty %} {% else %} {% endif %} //if語句
- 母板:{% block title %}{% endblock %}
子板:{% extends "base.html" %}
{% block title %}{% endblock %} - 幫助方法:
{{ item.event_start|date:"Y-m-d H:i:s"}}
{{ bio|truncatewords:"30" }}
{{ my_list|first|upper }}
{{ name|lower }}
七、自定義simple_tag
a、在app中創建templatetags模塊
b、創建任意 .py 文件,如:xx.py
from django import template
from django.utils.safestring import mark_safe
from django.template.base import resolve_variable, Node, TemplateSyntaxError
register = template.Library()
@register.simple_tag
def my_simple_time(v1,v2,v3):
return v1 + v2 + v3
@register.simple_tag
def my_input(id,arg):
result = "<input type='text' id='%s' class='%s' />" %(id,arg,)
return mark_safe(result)
c、在使用自定義simple_tag的html文件中導入之前創建的 xx.py 文件名
html文件最頂部導入
1
|
{
%
load xx
%
}
|
d、使用simple_tag
1
2
|
{
%
my_simple_time
1
2
3
%
}
{
%
my_input
'id_username'
'hide'
%
}
|
{% load xx %} <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> </head> <body> <h1>我是index</h1> <h2>{{ name }}</h2> <h2>{{ age }}</h2> {% my_simple_time 1 2 3 %} {% my_input 'id_username' 'hide' %} </body> </html>
e、在settings中配置當前app,不然django無法找到自定義的simple_tag

運行后返回

八、母版、子版、include
母板:{% block title %}{% endblock %}
子板:{% extends "base.html" %}
{% block title %}{% endblock %}
子板:{% extends "base.html" %}
{% block title %}{% endblock %}
{% include 'include/input.html' %}
母版

子版

include


創建一個子版son的目錄


九、靜態文件配置




十、Django登陸實例
導入bootstrap登陸頁面代碼
<form class="form-horizontal"> <div class="form-group"> <label for="inputEmail3" class="col-sm-2 control-label">Email</label> <div class="col-sm-10"> <input type="email" class="form-control" id="inputEmail3" placeholder="Email"> </div> </div> <div class="form-group"> <label for="inputPassword3" class="col-sm-2 control-label">Password</label> <div class="col-sm-10"> <input type="password" class="form-control" id="inputPassword3" placeholder="Password"> </div> </div> <div class="form-group"> <div class="col-sm-offset-2 col-sm-10"> <button type="submit" class="btn btn-default">Sign in</button> </div> </div> </form>
登陸測試驗證
密碼錯誤時
密碼正確時
十一、Model操作數據庫增刪改查
1、創建model類


2、注冊APP,settings添加app
3、生成相應的表
python manage.py makemigrations
python manage.py migrate

4、admin后台注冊表

后台可以管理,添加數據
后台可以管理,添加數據

對數據進行增刪改查
查
models.UserInfo.objects.all()

成功獲取數據
增
models.UserInfo.objects.create(user=a_user,pwd=a_pwd)


刪
models.UserInfo.objects.filter(user=a_user).delete()


改
models.UserInfo.objects.filter(user=a_user).update(pwd='520')
