Django项目部分笔记上传(未修改完)

pip install virtualenv 安装虚拟环境 pip install virtualenv

pip install virtualenvwrapper-win 安装virtualenv的扩展管理包,用于更方便的管理虚拟环境

mkvirtualenv 虚拟环境名称 创建虚拟目录

workon 虚拟目录名称/workon 查看全部的虚拟目录 进入虚拟目录,(只写workon就是查看全部虚拟目录)

deactivate 退出虚拟目录

pip install Django==1.11.3 安装及运行Django环境

pip uninstall Django 卸载Django

django-admin startproject 项目名称 创建项目

django-admin startapp 应用名称 创建应用

python manage.py runserver (切换对应的磁盘目录) 运行python

{% static ‘文件地址’ %} 11

{% load static %} 15

{% include ‘文件地址’%} 13

{% block 自定义名称 %}{% endblock %} 12

{% extends “文件地址” %} 14

from datetime import datetime
from .models import MyBlog
from django.http import HttpResponse

项目过程:

一、

1.运行django环境
python manage.py runserver

manage.py: Django项目里的工具,通过它可以调用django shell和数据库
AttributeError:属性错误

1.改setting

2.匹配urls.py的路由,引入应用users内
from django.conf.urls import url,include
urlpatterns = [url(r’^myblog/’,include(‘users.urls’))]

3.匹配user内部的urls.py的路由,访问视图的hello函数
from . import views
urlpatterns = [url(r’^users/’,views.hello),]

4.view的响应hello函数
from django.http import HttpResponse
def hello(request):
return HttpResponse(‘可以啦’)

templates:模板文件夹
static : 静态文件夹

return render(request,‘1.html’)
加载静态文件
{% load static %} //先加载
<link rel=‘stylesheet’ href=’{% static ‘1.css’ %}’> //再引用

setting.py 如何查找静态文件
STATICFILES_DIRS = (
os.path.join(BASE_DIR,‘static’),
)

models.py
class MyBlog(models.Model):
title = models.CharField(max_length=100)
author = models.CharField(max_length=100)
content = models.TextField()
add_time = models.DateTimeField()

数据迁移命令:python manage.py makemigrations
查看生成的文件本质:python manage.py sqlmigrate myblog 0001
真正生产数据库文件:python manage.py migrate

views.py
def tjdo(request):
title = request.POST[‘title’]
author = request.POST[‘author’]
content = request.POST[‘content’]
add_time = datetime.now()
result = MyBlog.objects.create(title=title,author=author,content=content,add_time=add_time)
if result:
return HttpResponse(add_time)
else:
return HttpResponse(‘添加失败’)

{% csrf_token %}#}

{‘a’:list}

循环{%for item in list%}

{{item.id}}
{{item.add_time}}
{%endfor%}

href="{% url ‘delete’ item.id %}"跳转方法{%url ‘名字’%}

创建MyBlog
排序MyBlog
获取id为1的信息 MyBlog.objects.get(pk=1) pk:primarykey主键

修改的逻辑代码:result = MyBlog.objects.filter(pk=id).update(title=title,author=author,content=content)

return render(request,‘blog/edit.html’,{‘list’:list}) 返回模板html

商城
myshop/users
database:myshop
后台模板
manager应用 manager/main
goodes应用 goods/goods_list GoodsInfo表(goods_name100,原价goods_price(float),现价goods_xprice,库存goods_count(int 默认0),商品介绍goods_info200,缩略图goods_pic(ImageField(default=’’,upload_to=‘media/uploads’)),存储方法goods_method50,配送地址goods_address200,内容详情goods_content(text))

			goods_add

登录、验证等最后加

render:找templates中视图 渲染视图 request,‘goods/goods_list.html’
rediect: 地址localhost:8000/goods/goods_list
python manage.py startapp manager :创建一个叫manager应用
python manage.py startapp goods :创建一个叫goods应用
pip install pillow :安装pillow,建表时才能使用ImageField类型字段

url(r’^manager/’,include(‘manager.urls’,namespace=‘manager’)
href=’{% url ‘manage:good_list’ %}’

{%empty%}

goods_name=request.POST[‘goods_name’] 没传上会报错
goods_name=request.POST.get(‘goods_name’) 没传上不会报错
goods_pic=request.FILES.get(‘goods_pic’) 接图片文件

ajax:
from django.views.decorators.csrf import csrf example?
@csrf_exempt
href=‘javascript:;’

layer:
layer.confirm(‘看好了没’,function(e){
$.post(’{% url ‘goods:delete’%}’,{‘id’:id},function(res){

			})
		layer.close(e)
	})

layer.alert('删除成功',{icon:1},function(index){
	layer.close(index)
})

登录模块
登录表ManagerMessage
用户名:username varchar30 default=空
密码: userpass varchar30 default=空
昵称:nicheng varchar30,允许为空,default=卖家昵称
店铺名:shop_name varchar50,允许为空,default=店铺名
店铺logo:shop_logo Image50,允许为空,upload_to=
店铺地址:shop_address varchar100,允许为空

全局变量,存储在session cookie中
Session存储在服务器中(安全,多了会对服务器造成负担)
Cookie 存储在浏览器中(不够安全)
1.创建全局变量
request.session[‘username’] = username
{{ request.session.username }}

2.销毁全局变量
del request.session[‘username’]

获取当前时间{% now ‘Y-m-d H:i:s’ %}

创建表连接
商品外键:
from .model from
Manage = models.ForeignKey(ManagerMessage,default=’’,db_column=’manage_id’)数据库列名
Type_name = varchar30
Type_sort=integerfield,default=0
type = models.ForeignKey()

class GoodType
type_id=models.AutoField(auto_created=True,primary_key=True,default=0,db_colum=’type_id’)

支持原生的sql语句
GoodsInfo.objects.raw()

查询所有
GoodType.object.all()

下拉<select

Setting
MEDIA_ROOT = os.path.join(BASE_DIR,’static’) :把media放进static中
<img src = ‘{%static item.goods_pic%}’>

判断{% ifequal goods.type_id item.type_id %}

{% else %}

{% endifequal %}

问题setting两处
Goods/views update

二、
在这里插入图片描述
Def goods_type
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
Openstore
Openstoredo
goods_pic = request.POST[‘goods_pic’],
当用request.POST.get(‘goods_pic’)时,编辑时无法写入文件

附加功能:
开新店的昵称密码判断
管理员修改密码

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值