
Django
Watch_dou
一名算法工程师,欢迎交流,由于比较忙,来不及回复评论,有事可以私戳我
展开
-
1、准备工作:Anaconda虚拟环境安装及Django安装
Django是一个开放源代码的Web应用框架,由Python写成。采用了MT’V的框架模式,即模型M,模板T和视图V。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。并于2005年7月在BSD许可证下发布。这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的。Django 的好处就是好,不仅内置了 ORM、表单、模原创 2018-02-03 21:17:26 · 4693 阅读 · 0 评论 -
5、Django -使用原生SQL语句操作已有的数据库
在开发过程中,可能需要建立很多接口供前端使用,那些接口的数据往往来自数据库。1、设置登录信息当一个项目中存在很多APP时,同时这些APP有些需要访问同样的数据库,我们不可能在每个APP中都设置登录的USER、PASSWORD、HOST、PORT等信息,这时只需要在项目的settings.py文件中找到DATABASES并做如下设置(本次例子为MySQL):DATABASES = { ...原创 2019-03-03 01:03:10 · 678 阅读 · 0 评论 -
6、Django -ORM模型操作数据库
1、ORM对象关系映射(Object Relational Mapping,简称ORM),可以通过类的方法来操作数据库,而不是写一些原生的SQL语句。通过把表映射成类,把字段映射成属性,把行作实例,ORM在执行对象操作时最终会把对应的操作转换为原生SQL语句。2、ORM优点项目中大量使用原生SQL语句使得整个项目的代码很繁琐,就会出现很多问题:① SQL重复性较高,利用率低。② 大量原始...原创 2019-03-03 18:13:07 · 476 阅读 · 0 评论 -
6.1、Django -ORM模型增删改查
ORM对数据库的基本操作:1、添加数据使用ORM模型创建一个对象,再调用ORM的save方法保存即可。book = Book(book_name='dsfgh',author='tally', price=123)book.save()注意:Book()是在models.py中建立的。2、查找数据所有的查找都是通过模型的objects属性来完成(自定义查询功能也是可以的)。①根据...原创 2019-03-03 18:14:39 · 250 阅读 · 0 评论 -
6.2、Django -ORM模型常用Field
以下所有的ORM的Field都是在~models.py中# 先导入modelsimport django.db import models1、AutoField(Field)- int自增列,必须填入参数 primary_key=True注意:如果使用自己定义的Field来作为主键,必须要设置primary_key=True2、BigAutoField(AutoField)- b...原创 2019-03-03 18:46:05 · 489 阅读 · 0 评论 -
6.3、Django -ORM模型跟时间Field相关的navie和aware时间问题
1、navie和aware时间问题在跟时间相关的处理中,会存在navie和aware时间问题,在win上已经做了兼容处理,可能部署到服务器上就会存在相关的问题。2、navie和aware时间分别是什么navie时间:不知道是哪个时区。aware时间:知道是哪个时区。3、解决问题可以利用pytz库(专门用来处理时区的库)的astimezone方法(只可以被aware时间调用),例子如下...原创 2019-03-03 19:30:32 · 325 阅读 · 0 评论 -
6.5、Django -通过Models中JSONField来创建含JSON字段的MySQL表详解
在6.4中介绍了通过在MySQL中创建JSON字段来驱动Django的Models,从而生成JSONField,然而,会出现一些问题,原因是Django中没有JSONField(),系统会默认JSON的字段整为TextField()形式,也许这样对结果不会造成什么影响,然而,心里也很别扭,有个疙瘩,总觉得不完美,有一个梗,总觉得是一个BUG!那么,这次,终极BOSS来啦。下面就开始说,如何通过Dj...原创 2019-05-05 22:49:32 · 12882 阅读 · 4 评论 -
6.6、Django -解决DateTimeField创建的时间字段保存到MySQL的datatime(6)格式问题
1、问题问题,直接在APP的models.py中通过create_time = models.DateTimeField(default = timezone.now)来创建时间,会带来一些问题,比如,发现MySQL中create_time字段为datatime(6)格式。下面就来解决一下。通过查阅发现,Django的DateTimeField默认为datatime(6)。通过如下查找对应文件...原创 2019-05-06 18:43:53 · 4113 阅读 · 1 评论 -
百度API之Python解析IP
百度高清ip解析的API已经不能申请,本次解析是通过普通的APIimport urllib.request import jsondef get_addr(ip,ak): try: url='https://api.map.baidu.com/location/ip?ip='+str(ip)+'&ak='+ak+'&coor=bd09ll' ...原创 2018-03-02 22:55:24 · 1239 阅读 · 2 评论 -
6.4、Django -已有MySQL表ORM保存JSON格式字段以及时间等的超详细讲解
1、在MySQL中建表在MySQL的wanping3库中,建立表testTB(特别注意,本例中主要是保存json数据):查看表结构:2、Django配置数据库连接参数在 settings.py 中设置数据库的连接参数:# Database# https://docs.djangoproject.com/en/1.8/ref/settings/#databasesDATABASE...原创 2019-03-05 18:44:59 · 3263 阅读 · 0 评论 -
4.6、Django - URL之URL分层模块化
1、URL分层模块化当网页中内容较多,将网页中的URL全部写在一个文件中,必然不好管理 。默认的APP下是不含url.py 文件(如下图douAPP项目下的APP为douBook的内容) ,可以通过在每个APP下构建url.py 文件 ,解决URL分层模块化管理。2、示例在douAPI项目APP为douBook的views.py中:from django.shortcuts impor...原创 2018-12-09 17:34:10 · 865 阅读 · 0 评论 -
4.5、Django - URL之Django内置的URL转换器
1、 转化器可以通过from django.urls import converters引入转换器,或查看对应的有哪些转换器 。2.1 整型int转换器控制参数类型,比如,控制出版社的id为整型 。在douAPI项目APP为douBook的views.py中:from django.shortcuts import render# Create your views here....原创 2018-12-09 16:48:58 · 749 阅读 · 0 评论 -
2、Django创建一个项目并启动
>d:>cd d:\Anaconda\Anaconda3\ven_01\Scripts>active>cd ..>django-admin startproject dwp>cd dwp>python manage.py runserver在开启之前dwp下有2个文件,开启后增加db.sqlite3数据库文件 开启后会有相应的链接,打开即可查看原创 2018-02-03 21:55:29 · 2453 阅读 · 0 评论 -
3、Django内部逻辑
所有的网站,要处理的步骤,就类似于,把大象放入冰箱需要几步,无外乎以下三个步骤: 1、接收信号 2、处理信号 3、回馈信号 打开Django官网,查看document 可以看到以下及部分 Part 1: Requests and responses | Part 2: Models and the admin site | Part 3: Views and templates |原创 2018-02-03 22:23:46 · 702 阅读 · 1 评论 -
4、Django - URL之项目规范化
统一资源定位符(或称统一资源定位器/定位地址、URL地址等,英语:Uniform Resource Locator,常缩写为URL),有时也被俗称为网页地址(网址)。scheme://host:port/path/?query-string=xxx#anchor访问协议://主机名(域名):端口号/查找路径?查询字符串#锚点(后台一般不用管,前端用来做页面定位)豆瓣就是利用Django开发...原创 2018-12-08 16:05:12 · 459 阅读 · 2 评论 -
4.1、Django - URL之DEBUG模式详解
1、DEBUG模式新建一个项目,默认在setting.py中开启了DEBUG模式,如下:# SECURITY WARNING: don't run with debug turned on in production!DEBUG = TrueALLOWED_HOSTS = []开启DEBUG模式有什么好处:1、以后修改了Django项目的代码,然后CTR + s ,那么Django...原创 2018-12-08 16:24:45 · 1771 阅读 · 2 评论 -
4.2、Django - URL之视图基本用法
此节介绍视图的基本用法。视图1、视图一般都是写在APP的views.py文件中2、视图中函数的第一个参数永远都是request (一个HttpResponse)对象。该对象存储了请求过程中所有的信息,如:所需要的参数以及一些头部信息等 。在视图中,一般是完成逻辑相关的操作 。例如,该请求是添加文章列表,就可以通过request 来接受这些数据 ,然后存储到数据库,最后把执行结果返回浏览器 。...原创 2018-12-08 16:52:49 · 297 阅读 · 0 评论 -
4.3、Django - URL之URL映射
1、为什么Django项目在urls.py 文件中去寻找所有URL映射?答:因为,在settings.py 文件中进行了配置。主要是ROOT_URLCONF = 'douAPI.urls'(根URL配置 = douAPI下urls.py)。2、在urls.py 文件中所有的映射,都应该放在urlpatterns 中 。例如,urls.pyfrom django.conf.urls impor...原创 2018-12-08 17:08:28 · 545 阅读 · 0 评论 -
4.4、Django - URL之URL传参给视图(一)
1、为什么要在URL中传递参数?参数,意味着在url中不固定,如果是写死固定的话,就不需要了 。下面两幅图,显示的是前面部分相同的豆瓣的文章链接,只有后面的id不一样 。在APP为book下的views.py中:from django.http import HttpResponsedef book_info(request): return HttpResponse("图...原创 2018-12-08 17:44:59 · 929 阅读 · 0 评论 -
4.4、Django - URL之URL传参给视图(二)
上篇介绍了通过URL传参给视图,下面继续说一下URL传参给视图的另外一种方式(查询字符串的形式),即GET 请求方法 。在douAPI项目APP为douBook的views.py中:from django.shortcuts import render# Create your views here.from django.http import HttpResponse# def b...原创 2018-12-09 16:02:53 · 709 阅读 · 0 评论 -
7、Django板块介绍
1、创建项目mysitedjango-admin.py startproject mysite2、创建APP blogcd mysitepython manage.py startapp blog3、将APP添加到setting.py不要忘了把 blog 加入到 settings.py 中的 INSTALLED_APPS 中。# Application definitionI...原创 2019-10-03 10:23:11 · 223 阅读 · 0 评论