python之django基础

看了不是同一期的视频,发现9期老师线性引入的方式,讲得django更加易与理解掌握。

"""
这个笔记不是9期的.

CentOS6.5下安装pip 
在已有python2.7的基础上:
1. 下载setuptools及pip的源码包
> wget --no-check-certificate https://bootstrap.pypa.io/ez_setup.py
> python ez_setup.py --insecure

2. 下载并安装pip
wget https://pypi.python.org/packages/11/b6/abcb525026a4be042b486df43905d6893fb04f05aac21c32c638e939e447/pip-9.0.1.tar.gz#md5=35f01da33009719497f01a4ba69d63c9 --no-check-certificate

tar zxvf pip-9.0.1.tar.gz
cd pip-9.0.1
python setup.py install
后面安装django使用pip即可
"""

# pip3 django==1.11.13

### manage.py 文件及所有项目由命令生成。
# 与项目进行交互的命令行工具集的入口
# 项目管理器   python manage.py  # 查看所有命令

# cmd命令行下:

#  D:\Python3>Django-admin startproject myblog

# python manage.py runserver  # 启动web服务  访问 http://localhost:8000/ 查看web服务是否可用 It worked!

# python manage.py runserver 9999  # 也可以指定端口启动web服务

## 子目录myblog是项目目录,不建议修改名称。

# wsgi.py  # 即python服务器网关接口(python Web Server Gateway Interface)
# python应用与web服务器之间的接口  全程不会去改动它。

# urls.py  # URL配置文件 项目中所有地址(页面)都需要我们自己去配置URL

'''--------------------------------------------------------------------
 settings.py  # 整个项目最核心最重要的 总配置文件
   包含了数据库、web应用、时间等各种配置
------------------------------------------------------------------------'''

### 使用 python3 manage.py startapp blog 创建 blog 应用
# 创建应用时避免和模块名冲突。
# 将应用 blog 加入 settings中INSTALLED_APPS下

"""=========================================================================
如果使用pycharm创建django项目的话,可以在创建时同时创建应用,
且应用将自动加入 settings 中 INSTALLED_APPS 下
==========================================================================="""

# blog 下的:
#  migrations 数据迁移模块 涉及数据库操作 内容自动生成
#  admin.py 该应用的后台管理系统配置
#  apps.py  该应用的一些配置  django1.9以后自动生成
#  models.py  数据模块 使用ORM框架  类似于MVC中的Models(模型)
#  tests.py  自动化测试模块  django提供了自动化测试功能  在这里编写测试脚本

# ### views.py  执行响应的代码  代码逻辑处理的主要地点  项目中的大部分代码均在这里编写
#
''''''

# 编辑 blog.views
'''
    每个响应对应一个函数,函数必须返回一个响应
    函数必须存在一个参数,一般约定为request
    每一个响应(函数)对应一个URL
'''

# 编辑urls.py
'''
    每个URL都以url的形式写出来
    url函数放在urlpatterns列表中
    url函数三个参数:URL(正则),对应方法,名称
'''


'''
Models是什么?
    通常,一个Model对应数据库的一张表,Django的models以 类 的形式表现,它包含了一些基本字段以及数据的一些行为。
ORM 对象关系映射(Object Relation Mapping) 实现了对象和数据库之间的映射。
    隐藏了数据访问的细节,不需要编写SQL语句

编写Modles
在应用根目录下创建models.py, 引入models模块
创建类,继承models.Model 该类即是一张数据表
在类中创建字段 :
    字段即类里的属性(变量)
    attr = models.CharField(max_length=64)
    官网:https://docs.djangoproject.com/en/1.11/ref/models/fields/
    
生成数据表:
    命令行进入manage.py所在目录
    执行 python manage.py makemigrations [可选参数 app名]
    再执行 python manage.py migrate
    其实就是settings.py中的 INSTALLED_APPS 中的应用所对应的数据 
    如果没有指定主键,则django会自动加上id列,int型,主键,自动增长。
    
    利用 python manage.py sqlmigrate 应用名 文件id  可查看SQL语句
    python manage.py sqlmigrate blog 0001
    
    查看数据库可用sqlite expert 或者 Navicat 

页面呈现数据: 
    views.py中import models
    article = models.Article.objects.get(pk=1)
    return render(request,page,{"article":"article"})  
    前端步骤:
        模板可直接使用对象以及对象的"."操作
        {{article.title}}
    
'''

猜你喜欢

转载自www.cnblogs.com/frx9527/p/python_django1.html
今日推荐