标签:模板文件 lis 布尔 tco create serve shell 应用 html
sudo pip install virtualenv #安装虚拟环境 sudo pip install virtualenvwrapper #安装虚拟环境扩展包 |
VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3.5 # python 文件位置,要指明版本,不然会和 conda 的包混淆 export WORKON_HOME=$HOME/.virtualenvs # 虚拟文件的位置 source /usr/local/bin/virtualenvwrapper.sh |
source .bashrc |
# 创建虚拟环境命令: mkvirtualenv 虚拟环境名 # 创建指定 python 版本的虚拟环境: mkvirtualenv -p python3.5 bj11_py3 # 进入虚拟环境工作 workon 虚拟环境名 # 查看机器上有多少个虚拟环境: workon 空格 + 两个tab键 # 退出虚拟环境 deactivate # 删除虚拟环境: rmvirtualenv 虚拟环境名 |
# 虚拟环境下安装包的命令: pip install 包名 # 注意:不能使用sudo pip install 包名,这个命令会把包安装到真实的主机环境上而不是安装到虚拟环境中。
# 查看虚拟环境中安装了哪些python包: pip list pip freeze # 安装特定版本的 django 环境: pip install django==1.8.2 |
django-admin startproject 项目名 |
python manage.py runserver |
from django.db import models
# 设计和表对应的类,即为模型类 # Create your models here.
# 一类 # 图书类 class BookInfo(models.Model): """图书类模型""" # CharField 说明是一个字符串,max_length 指定最大字符串长度 btitle = models.CharField(max_length=20) # DataField 说明是一个日期类型 bpub_date = models.DateField()
def __str__(self): """返回图书类的标题""" return self.btitle
# 多类 # 英雄人物类 # 英雄名 hname # 性别 hgender # 年龄 hage # 备注 hcomment # 关系属性,建立图书类和英雄类之间的关系 class HeroInfo(models.Model): """英雄人物类属性""" hname = models.CharField(max_length=20) # BooleanFileld 说明是布尔类,default 指定默认值,False表示男 hgender = models.BooleanField(default=False) hcomment = models.CharField(max_length=128) # 关系属性,hbook 建立图书类和英雄类之间的关系 # 关系属性对应的表的字段名格式:关系属性名_id hbook = models.ForeignKey(‘BookInfo‘)
def __str__(self): """返回英雄名""" return self.hname |
python mange.py migrate |
python manage.py shell |
# 首先导入模型类: from booktest.models import BookInfo,HeroInfo # 1)向booktest_bookinfo表中插入一条数据。 b = BookInfo() #定义一个BookInfo类的对象 b.btitle =‘天龙八部‘ #定义b对象的属性并赋值 b.bpub_date = date(1990,10,11) b.save() #才会将数据保存进数据库 # 2) 查询出booktest_bookinfo表中id为1的数据。 b = BookInfo.objects.get(id=1) # 3) 在上一步的基础上改变b对应图书的出版日期。 b.bpub_date = date(1989,10,21) b.save() #才会更新表格中的数据 # 4) 紧接上一步,删除b对应的图书的数据。 b.delete() #才会删除 # 5) 向booktest_heroInfo表中插入一条数据。 h = HeroInfo() h.hname = ‘郭靖‘ h.hgender = False h.hcomment = ‘降龙十八掌’ b2 = BookInfo.objects.get(id=2) h.hbook = b2 #给关系属性赋值,英雄对象所属的图书对象 h.save() # 6) 查询图书表里面的所有内容。 BookInfo.objects.all() HeroInfo.objects.all() |
python manage.py createsuperuser |
from django.contrib import admin from booktest.models import BookInfo, HeroInfo # 后台管理的相关文件 # Register your models here.
class BookInfoAdmin(admin.ModelAdmin): """自定义模型管理类, 图书模型管理类""" list_display = [‘id‘, ‘btitle‘, ‘bpub_date‘]
class HeroInfoAdmin(admin.ModelAdmin): """自定义模型管理类, 英雄模型管理类""" list_display = [‘id‘, ‘hname‘, ‘hgender‘, ‘hcomment‘, ‘hbook_id‘]
# 注册模型类 admin.site.register(BookInfo, BookInfoAdmin) admin.site.register(HeroInfo, HeroInfoAdmin) |
from django.shortcuts import render from django.http import HttpResponse from django.template import loader, RequestContext from booktest.models import BookInfo, HeroInfo
# Create your views here.
def my_render(request, template_path, context_dict={}): """加载模板文件""" # 使用模板文件 # 1. 加载模板文件, 获得模板对象 temp = loader.get_template(template_path) # 2. 定义模板上下文:给模板文件传递数据 context = RequestContext(request, context_dict) # 3. 模板渲染 res_html = temp.render(context) # 4. 返回给浏览器 return HttpResponse(res_html)
# 1. 定义视图函数,HTTPRequest # 2. 进行 url 配置,建立 url 地址和视图的对应关系 def index(request): # 进行处理,和 M 与 T 进行交互 # return HttpResponse("程序正常运行,哈哈哈") return my_render(request, "booktest/index.html") |
{% for i in list %} list不为空时执行的逻辑 {% empty %} list为空时执行的逻辑 {% endfor %} |
def show_books(request): """显示图书信息""" # 1. 通过 M 查找图书表中的数据 books = BookInfo.objects.all() # 2. 使用模板 return render(request, "booktest/show_book.html", {‘books‘: books}) |
from django.conf.urls import url from booktest import views
# 在应用的 urls 文件中进行 url 配置的时候: # 1. 需要严格的匹配开关和结尾 # 2. 从上到下匹配,一旦匹配成功,就会在 url 地址中去掉匹配项 urlpatterns = [ # 通过 url 函数设置 url 路由配置项 url(r"^index/?$", views.index), # 建立/index 和视图 index 之间的关系 url(r"^index2/?$", views.index2), # 建立/index 和视图 index 之间的关系 url(r"^books/?$", views.show_books), # 显示图书信息 url(r"^books/(\d+)$", views.detail) # 使用正则表达式的分组传入 ] |
标签:模板文件 lis 布尔 tco create serve shell 应用 html
原文地址:https://www.cnblogs.com/lijunjie9502/p/10849318.html