Django之視圖與模板以及在模板中使用bootstrap


url中也可以傳遞參數給后台進行處理。比如http://127.0.0.1:8001/add/?a=4&b=5。 這個鏈接傳入a=4,b=5.后台將進行a+b的處理
新增處理函數
def add(request):
    a=request.GET['a']
    b=request.GET['b']
    return HttpResponse(str(int(a)+int(b)))
urlpatterns中添加url(r'add/',views.add),得到的鏈接如下

url也可以寫成如下形式:http://127.0.0.1:8001/add/4/5 相應的處理函數改成如下。傳遞具體的參數給函數
def add(request,a,b):
    return HttpResponse(str(int(a)+int(b)))
 
模板:
在前面講到函數可以直接到定向到templates中的網頁。其實還可以參數給網頁,然后在網頁中顯示出來
如下的home函數,傳遞一個string參數給index.html
def home(request):
    string=u"網頁測試"
    return
render(request,'index.html',{'string':string})
網頁中添加{{string}}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<h1 style="background-color:antiquewhite;color:black;"/>hello Django</h1>
{{ string }}
</body>
</html>
還可以傳遞列表給網頁
def home(request):
    list=["HTML","java","python"]
    return render(request,'index.html',{'list':list})
網頁中添加如下:
{% for i in list %}
{{ i }}
{% endfor %}




  
  
  
          
  
  
  
          
  
  
  
          
還可以傳入字典:
def home(request):
    string=u"網頁測試"
   
list=["HTML","java","python"]
    info={'state':u'Django','Content':u'Django學習'}
    return render(request,'index.html',{'info':info})
{% for key,value in info.items %}
{{ key }}:{{ value }}
{% endfor %}

模板中還可以獲取當前的網址以及用戶。只要在settings.py中添加django.template.conte
xt_processors.request以及django.contrib.messages.context_processors.messages
 
{{ request.user }}
{{ request.path }}

 

使用bootstrap美化模板:
前面介紹的都是如果通過后端和前端展示的模板聯系起來。很多人對於前端的網頁如何美化比較頭疼,其實對於前端網頁來說,有個快速美化和布局的組件就是bootstrap。來看下django中如何引用bootstrap。
1 首先進入bootstrap網站進行組件下載:http://www.bootcss.com/
2 點擊下載Bootstrap進行下載

3 下載后得到css,img,js三個文件夾。Bootstrap就是引用這三個文件里面的引用方式來美化和布局。
4 將上述三個文件拷貝到django工程下面的static文件夾,並在django中的進行路徑引用設置。在setting,py中進行如下設置:
BASE_DIR是工程的一級目錄
 
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
STATIC_URL = '/static/'   #若存放靜態文件的static目錄在app目錄下,則改局生效,無需定義下面的
STATICFILES_DIRS=[os.path.join(BASE_DIR,"static")]   ##若存放靜態文件的static目錄在project目錄下,則用該定義


5 在網頁中引用bootstrap的組件:下面部分添加在<head>中
<link href="/static/css/bootstrap.min.css" rel="stylesheet">
<link href="/static/css/bootstrap.css" rel="stylesheet">
<script src="/static/js/bootstrap.min.js"></script>
<script src="/static/js/bootstrap.js"></script>
<script src="/static/js/jquery-3.2.1.min.js"></script>
 
6 在bootstrap網頁中去查找對應的模板使用樣式。在組件頁簽中有對應的各種樣板方法。還有http://www.runoob.com/bootstrap/bootstrap-tutorial.html這個網站也介紹了很多bootstrap的使用方法,可以參考。

下面設置看下結果:網頁代碼如下
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>歡迎來到django</title>
    <link href="/static/css/bootstrap.min.css" rel="stylesheet">
    <link href="/static/css/bootstrap.css" rel="stylesheet">
    <script src="/static/js/bootstrap.min.js"></script>
    <script src="/static/js/bootstrap.js"></script>
    <script src="/static/js/jquery-3.2.1.min.js"></script>

</head>
<body>
<ul class="nav nav-tabs">
  <li class="active">
    <a href="#">首頁</a>
  </li>
  <li><a href="#">下一頁.</a></li>
  <li><a href="#">回到首頁</a></li>
</ul>
<p>這是django的測試</p>
</body>
</html>
效果如下:

 

 
        

 

 
        

 

 
        

 

 
        

 

 

 

 
       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM