码迷,mamicode.com
首页 > 其他好文 > 详细

django基础操作

时间:2017-08-24 00:15:15      阅读:228      评论:0      收藏:0      [点我收藏+]

标签:客户   cal   命令   创建   配置文件   res   ini   dex   --   

Django基本操作
1、创建一个django项目
	django-admin startproject 项目名
2、用cd进入到项目里面,创建一个django应用
	python manage.py startapp 应用名
3、启动django项目
	python manage.py runserver IP 或 端口;(或者只写端口,或者两者都写)   

	
       manage.py   :  与django进行交互的命令脚本
	   
	   project_name
			   settings:     配置文件
			   urls        : 路由分发,url中的path(路径)与视图函数的一一映射关系
				在urls.py 文件中导入视图函数文件,写上路由关系!
		    示例:
			  from app01 import views
			  url(r‘^login/‘, views.login),
	   
项目与应用:
		一个项目有多个应用
		一个应用可以被多个项目拥有
day 2=====================================
两个框架:学好哪一个都行	
Django :大而全
Flask:小而精

MTV  C

M:model

T:template

V: views

C: Controller(路由分配系统)

一 路由分配系统

    功能:客户端访问的url的路径(path)与视图函数一一映射关系
	
    语法格式:
	
	urlpatterns = [
    
  	    url(正则表达式, views视图函数,参数,别名),
    
	]
		 
		 
    key:    通过路径分组传参数给视图函数
    
	无名分组:url(r‘^(\d{4})/$‘, year_query),  
	
            #    year_query(request,2007)
			
	有名分组:url(r‘^(?P<year>\d{4})/(?P<month>\d{2})$‘, year_query),
	
          	#    year_query(request,year=2010,month=12)

	
	name参数:    url(r‘^regq/‘, reg,name="register"),    
	
	
二 视图函数(views)


    请求对象: request
    响应对象: httpresponse("")
	
	request.method   : 请求方式----->>GET  POST
	request.GET    : 存放 get请求数据
	request.POST   : 存放 post数据
	
	
	Httpresponse("")  ------>实例字符创对象
	render            ------>模板的渲染
	redirect          ------>跳转
	
	
	模板语言: 渲染变量 {{}}         渲染标签 {% %}
			渲染可以渲染字符串、列表、字典、数字都行,且双大括号中只能填写一个东西,不可用逗号作为分隔写多个值
	
	目的: 将变量嵌入到html中
	
	       注意:
               1 只要带有模板语法的html都成为模板	

               2 render方法渲染时 把后端变量嵌入到模板中			   
	
	
 	        关于redirect与render的区别:
			            redirect走的是路径!!!!!----->>需要url里面设置映射,需要views中设置def函数,利用函数
						##重点redirect这个跳转,是跳转到一个路径下面,然后在通过路径,进行返回相应的函数!!!!!!!!
						render返回的是模板(页面)!!!!!
day3=============================================
模板的深度查询----->>句点方法,就是用小数点,这种深度操作,只有这一种方法,记住了:
	举例:在views中写这个
		def index(request):
		name=‘yuan‘

		i=17

		l=[12,45,77]

		d={‘name‘:"egon","age":111}
	
	然后运行,执行之后,显示出效果,如下
		http://127.0.0.1:8000/index/	
		<h3>{{ i }}</h3>	#17
		<h3>{{ l }}</h3>	#[12, 45, 77]
		<h3>{{ d }}</h3>	#{‘name‘: ‘egon‘, ‘age‘: 111}
		<hr>
		<p>{{ l.0 }}</p>	#12
		<p>{{ l.1 }}</p>	#45	
		<p>{{ l.2 }}</p>	#77

	取字典中的值,上面的标签随意用,可以用其他的,这里用p标签是为了换行用	
		用<p>{{ d.name }}</p>
		  <p>{{ d.age }}</p> 
★★★★★		  
locals----->>区域变量 当地人 局部变量
	locals表示本地变量,用这个的话,无论现在页面是什么变量,都在前端里面对应它的名字,即可直接使用,
	这样就可以少些很多变量了,直接代替上一行代码写的这么多大括号里面的东西,看下面对比
	#return render(request,"index.html",{"name":name,"i":i,"l":l})
	#return render(request,"index.html",locals())
★★★★★
取值操作:
def index(request):
	name=‘yuan‘
    i=17
    l=[12,45,77]
    d={‘name‘:"egon","age":111}
	
    class Person(object):
        def __init__(self,name):
            self.name=name
    p1=Person(‘egon‘)
    p2=Person(‘阿猫‘)
    p3=Person(‘阿狗‘)
    querySet=[p1,p2,p3]

    return render(request,"index.html",locals())	
	
第一种取值操作(不推荐使用)
	{{ querySet.0.name }}#取到的是第一个实例对象的名字
第二种取值方式:
	{% for person in querySet %} #也就是for 类 in (定义的)列表
		<p>{{ person.name }}</p>
	{% endfor %}
	<hr>
	{% if i > 100 %}
		<p>100</p>
	{% elif i > 50 %}
		<p>大于50小于100</p>
	{% else %}
		<p>{{ i }}</p>
	{% endif %}
重点说明:
	注意for 和endfor; if elif 和endif,一定要首尾结合使用,否则报错;都是大括号和百分号括起来,以及注意格式!
	{% for 条件 %} 
		语句
	{% endfor %}

若是有条件判断:
	{% if 条件 %}
	  语句
	{% else %}
	  语句
	{% endif %}	
★★★★★
导入静态(static)文件:
	一般在应用下面放入bookstrap文件,一般设置名字为static,然后把dist文件名改成bookstrap,这个里面放bookstrap放入static中
	注意:
		1、导入静态文件的时候,要在settings里面进行路径拼接,使其找到bookstrap的绝对路径
		2、在每个html文件的最顶端都加上 {% load staticfiles %} 这个,这个是django使用静态文件用的,否则没法用静态文件
★★★★★
数据库与ORM
ORM     表示:对象关系映射
		目的:通过python代码实现对数据库的增删改查
★★★★★
models
	是跟数据库搞关系的,可直接调用models类						
						
						

						
						
						
						
						
						
						
						
						
						
						
						
						

  

django基础操作

标签:客户   cal   命令   创建   配置文件   res   ini   dex   --   

原文地址:http://www.cnblogs.com/heysn21/p/7420774.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!