Django初探(模板渲染、模板語音、simple_tag、母版子版、靜態配置文件)

1、首先咱們用PyCharm來建立一個Django項目
終端命令:django-admin startproject sitename
圖形建立:
 
這樣一個Django項目就建立完成了,上面能夠看到項目的一個結構
接下來建立一個APP
2、建立APP
進入到項目所在目錄執行命令
 
C:\Users\yangmingwei\PycharmProjects\yangmv>  python manage.py startapp web
 
上圖能夠看到APP的一個結構
 

經常使用命令:html

  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

 
 
3、運行
python manage.py runserver 0.0.0.0:8080
這樣一個APP就運行起來了
python manage.py syncdb  創建數據庫,建立用戶後,便可登錄Django admin後臺
http://127.0.0.1:8000/admin/
 
 
4、添加一個url頁面
 
 
 
 
 
 
5、模板渲染
用法和jinja2相同
 
 

6、模版語言web

 模板中也有本身的語言,該語言能夠實現數據展現數據庫

  • {{ 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 }}
 

7、自定義simple_tagdjango

a、在app中建立templatetags模塊bootstrap

b、建立任意 .py 文件,如:xx.pyapp

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文件最頂部導入ide

1
{ %  load xx  % }

d、使用simple_tagoop

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  測試

 
運行後返回
 
 
 
 
8、母版、子版、include
母板:{% block title %}{% endblock %}
子板:{% extends "base.html" %}
   {% block title %}{% endblock %}
               {% include 'include/input.html' %} 
 
母版

子版

include
 
建立一個子版son的目錄
 
 
 
 
9、靜態文件配置

 
 
10、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>

 

 

登錄測試驗證

密碼錯誤時

密碼正確時

 

 

 

 11、Model操做數據庫增刪改查

一、建立model類
  
二、註冊APP,settings添加app
三、生成相應的表
    python manage.py makemigrations
    python manage.py migrate   
 
四、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')
相關文章
相關標籤/搜索