django基础4--模板独立

一.独立模板文件
访问外层中html文件若没指定则按照seetings.py中app01,app02…注册顺序加载

二.独立静态文件
static --> app01 --> xxx.jpg
进行目录配置: settings.py STATICFILES_DIRS=[os.path.join(BASE_DIR ‘static’)]
html文件中:
{% load static %}
<img src=’{% static ‘app01/1.jpg %}’ alt=‘图片’/>

收集静态文件:
	STATIC_ROOT = os.path.join(BASE_DIR 'static')
	python manage.py collectstatic

三.视图系统(view)
作用:做逻辑判断,最后返回响应
之前写的都是FBV
这里是CBV
views.py
from django.views import View
class Login(View):
def get(self,request):
return render(request,‘app01/login.html’)
def post(self,request)
msg = ‘’
name = request.POST.get(‘name’)
pwd = request.POST.get(‘pwd’)
if name == ‘zs’ and pwd == ‘111’:
return HttpResponse(‘登录成功’)
msg = ‘用户名或密码错误’
return render(request,‘app01/login.html’,{‘msg’:msg})

	urls.py
		from app01 import views
		path('login/',views.Login.as_view())
		
	login.html
		<form action='/app01/login/' method='post'>
			{% csrf_token %}
			<P>用户名: <input type='text' name='name'> </p>
			<P>密码: <input type='password' name='pwd'> </p>
			<span> {{ msg}}</span>
			<P> <input type='submit' value='登录'> </p>
			
		</form>

四.简单的表单处理
请求对象参数
1.path_info 返回用户访问url,不包括域名
2.method:返回HTTP方法的字符串表示,全大写表示
GET,POST
3.COOKIES:一个标准的python的字典,包含所有的cookies
4.FILES:一个类似于字典的对象 ,包含所有的上传文件信息
只有在POST方法下并form带有enctype=‘mutipart/form-data’
才会带有数据
5.HttpResponse.get_full_path():返回path

文件上传
	hyml:
		<form action='/地址名称/' method='post' enctype='multipart/form-data'>
		选择文件: <input: type='file' name='upload_name'>
		<br/>
		<input type='submit' value='开始上传'>
	后台接受:
		普通内容: request.POST.get()
		上传内容: request.FILES
		保存上传内容: with open(path ,mode='wb') as f 

五.Django数据库
1.ORM(对象关系映射)
直接编写python语句,然后转换成sql语句,方便开发,但影响数据库操作效率

2.配置 spilt3数据库
	DATABASES = {
		'dafault':{
		'ENGINE':'django.db.backends.sqlite3',
		'NAME':os.path.join(BASE_DIR,'db.sqlite3'),
		}
	 }
	 详细操作见讲义第五讲
	
3.	数据模型
	创建模型类,生成对应的数据库表格
		class Person(models.Model):
			id = models.AutoField(primary_key=True)
			name = models.CharField(max_length=32)
			age = models.IntegerField()
			height = models.DecimalField(max_digits=5,decimal_places=2)
			weight = models.FloatField()
			birthday = models.DateField()
	生成迁移文件
		python manage.py makemigrations app名
	
	同步数据库
		python manage.py migrate
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值