一、内容整理
1、创建Django工程
django-admin startproject 工程名
2、创建app
cd 工程名
python mange.py startapp app名
3、静态文件
project.settings.py =>STATICFILES_DIRS = [
os.path.join(BASE_DIR,"static"),
]
4、模板路劲
DIRS ==> [os.path.join(BASE_DIR,'templates'),]
5、settings中
middlerware #注释csrf
6、定义路由规则
project下的url.py
login -->函数名
7、定义视图函数
app下的views.py
def func(request):
#request.method GET /POST方法
#http:127.0.0.1:8000/home?nid=123&name=zhangqigao
#request.GET.get('',None) #获取get请求发来的数据
#request.POST.get('',None) #获取post请求发来的数据
# return HttpResponse("字符串")
# return render(request,"HTML模板路径")
# return redirect('/只能填写url') #url前面的斜杠 / 代表ip+端口,本地的话就是:127.0.0.1:8000,所以不能省略
二、模板渲染
2.1、特殊模板语言
def func(request):
return render(request,"index.html",{'current_user':"zhangqigao"}) #这边传入字典
index.html内容如下:
<div>{{current_user}}</div> #这边获取值,{{key值}}
2.2、For循环
def func(request):
return render(request,"index.html",{'current_user':"zhangqigao",'user_list':['alex','sgg']}) #这边传入字典
index.html内容如下:
<ul>
{% for row in user_list %}
<li>{{row}}</li>
{% ednfor %}
</ul>
2.3、索引
def func(request):
return render(request,"index.html",{'current_user':"zhangqigao",'user_list':['alex','sgg'],'user_dict':{'k1':'v1','k2':'v2'}}) #这边传入字典
index.html的内容如下:
#列表的根据索引去值方法
<a>{{user_list.0}}</a>
<a>{{user_list.1}}</a>
#字典根据索引取值方法
<a>{{user_dict.k1}}</a>
<a>{{user_dict.k2}}</a>
2.4、if条件判断
def func(request):
return render(request,"index.html",{'current_user':"zhangqigao",'age':18,'user_list':['alex','sgg'],'user_dict':{'k1':'v1','k2':'v2'}}) #这边传入字典
index.html内容如下:
#嵌套if....elif...else....:
{% if age %} #age为18,所以为true
<a>有年龄</a>
{% if age > 16 %} #比较大小
<a>老男人</a>
{% elif age >18 %}
<a>小男人</a>
{% else %}
<a>小鲜肉</a>
{% endif %}
{% else %}
<a>无年龄</a>
{% endif %}
#if语句嵌套在for循环当中:
<ul>
{% for row in user_list %}
{% if row == "zhangqigao" %}
<li>{{row}}</li>
{% endif %}
{% endfor %}
</ul>