专栏首页GopherCoderDjango:web框架的学习(2)

Django:web框架的学习(2)

001:Django:web框架的学习


核心知识: 1:第一个视图和URL配置 2:Django模型:数据库的配置及shell操作 3:Django后台初看 4:编程感悟


1:视图和URL

  • Django开发大致流程
    • 配置urls
    • 视图views
    • 模型models
    • 模板templates
  • 创建项目和一个应用: 目录下:django-admin startproject learn 目录下:python manage.py startapp one
  • setting.py 注册应用 INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'one' ]
  • 再次明确下目录下文件的用途

|文件名|用途| |---| |urls.py|网址入口,关联到对应的views.py 一个函数| |views.py|网页显示的内容,用户访问网页能看到的界面内容| |models.py|数据库操作,定义数据表等| |settings.py|Django设置文件,时区,数据库,语言,app注册等设置| | |...|...|

  • 编写视图文件:目录one\views.py from django.shortcuts import render from django.http import HttpResponse # Create your views here. def hello(request): return HttpResponse("Hello world.") # 需要导入HttpResponse类 # 函数需要至少需要带参数:request
  • 配置url:目录:learn\urls.py from django.conf.urls import url from django.contrib import admin from one.views import hello # 导入视图文件那个hello 函数 urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^first, hello), ] # 配置url后的意思是:访问http://127.0.0.1:8000/first 网址,显示的是视图文件hello函数返回的内容 # url配置会使用到正则表达式
  • 启动服务器: 目录下:python manage.py runserver # 访问网页 http://127.0.0.1:8000/hello 显示hello world
  • 回顾下主要参照流程
    • Django创建项目: django-admin startproject learn
    • django 启动一个app应用: python manage.py startapp one
    • 设置文件注册:app
    • 编写视图文件: views.py
    • 配置url文件: urls.py
    • 执行启动服务器命令: python manage.py runserver
  • 访问网页链接的发生的过程步骤
    • 请求转入:http://127.0.0.1:8000/first
    • Django 通过ROOT_URLCONF配置来决定根URLconf
    • URL模式匹配中匹配first
    • 调用想应的视图文件
    • 视图文件返回一个HttpResponse
    • webpage 展示:Hello world.

2:Django模型

模型models.py 文件主要和数据库相关

Django 支持4种数据库:

  • PostgreSQL
  • SQLite
  • MySQL
  • Oracle

以:MySQL为例

  • settings.py 配置数据库信息
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'test',
        'USER': 'root',
        'PASSWORD': 123456,
        'HOST': 'localhost',
        'PORT': 3306
    }
}
# ENGINE: mysql 指定是mysql数据库
# NAME: 数据库名字
# 用户,密码,主机地址,端口号
  • models.py 文件的编写:目录:one\models.py 一个表即是一个类:下面创建一个只有一列的数据表:表名为:Character
from django.db import models

# Create your models here.
class Character(models.Model):
    name = models.CharField(max_length=200)
    def __unicode__(self):
        return self.name
# 字段名为:name, 最大长度为200,字符串类型
  • 在数据库中为模型生成表结构 python manage.py makemigrations [APPNAME] python manage.py migrate [APPNAME] # 数据库:test 中生成:APPNAME_character 的表,包含字段为:name, 自动添加字段id
  • Django shell 交互式shell对数据库进行操作: python manage.py shell # 我们创建的APPNAME 为one, 数据表定义的类为:Character, 定义的字段为: name >>> from one.models import Character >>> # 向数据表中增加一条数据 >>> Character.objects.create(name ="xiexiaolu" ) # s数据库增加一条name="xiexiaolu"的数据 >>> first = Character.objects.get(name = "xiexiaolu") >>> # 查看字段属性值 >>> first.id >>> first.name >>> first.delete() # 详情还是参考官方文档吧
  • 官方文档:点这里

3:Django后台

1464618949846.png

可以对定义的数据库表进行操作等

  • 默认显示英文:更改显示中文 setting.py 文件下 将语言显示改为 LANGUAGE_CODE = 'zh-cn'

4:编程感悟

借我杀死庸碌的情怀

其实和官方文档的结构很像,并没有太多的关于深层次的框架感悟。

需要持续精进。

实现最小化可行系统是实现和理解编程原理的第一步。


本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Django:web框架的学习(1)

    谢伟
  • 打造一款emoji 表情库

    如何你经常逛 Github,发现很多人的项目写的 简介图文并貌,有很多的表情。当然说到表情,我们在手机上也存在很多的 emoji 表情,这些表情极大的丰富了我们...

    谢伟
  • 2016.05.27

    谢伟
  • Django 学习笔记 1.2 模型和 admin 站点

    https://docs.djangoproject.com/zh-hans/2.2/intro/tutorial02/

    twowinter
  • Django之常用命令以及问题汇总

    django-admin.py startproject project-name

    超蛋lhy
  • django总结四:django---

    3)安装pymysql pip install pymysql PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Pyth...

    py3study
  • 用django1.11.2版本实现文件上传demo

    之前参考了虫师和纯臻对此的实践博文,但是由于版本迭代问题,最新版本的Django命令已经修改了,我重新完成一份攻略。

    十四君
  • Django 入门学习(3)

    在例4的基础上,我希望直接保存数据到数据库中。 Django自带了一个sqlite的数据库,已经配置好了 可以直接使用。使用方式和sqlalchemy类似,相当...

    py3study
  • python django 学习(一)数据库 目的根据已有BBS建立新的网站步骤

    2.django创建的默认文件说明 manage.py:一个命令行工具,用于与Django进行不同方式的交互脚本,非常重要! 内层文件说明: ...

    学到老
  • python django 学习(一)数据库 目的根据已有BBS建立新的网站步骤

    1.创建一个django程序(pycharm下创建界面) ? 2.django创建的默认文件说明 manage.py:一个命令行工具,用于与Dj...

    学到老

扫码关注云+社区

领取腾讯云代金券