Django 2.0.7 使用小知识
Django 2.0.3 使用小知识
运行环境:
Python 3.6.4
Django 2.0.7
Django Admin中model显示为中文
定义model时,定义一个Meta对象,设置需要显示的中文名称。verbose_name为单数名称,verbose_name_plural为复数名称。因为中文没有区分单数、复数,所以都定义为一样的名称。
from django.db import models
class Article(models.Model):
class Meta:
verbose_name = '文章'
verbose_name_plural = '文章'
Django Admin中model字段显示为中文
定义model时,在每个字段后增加verbose_name,如下例子中的title
class Article(models.Model):
class Meta:
verbose_name = '文章'
verbose_name_plural = '文章'
title = models.CharField(max_length=256, verbose_name='标题')
Django Admin中的app显示为中文
在需要自定义名称的app中(假设app目录的blog),做如下修改
# blog/apps.py
from django.apps import AppConfig
class BlogConfig(AppConfig):
name = 'blog'
verbose_name = '个人博客'
# blog/__init__.py
default_app_config = 'blog.apps.HealthConfig'
警告:?: (urls.W005) URL namespace 'admin' isn't unique. You may not be able to reverse all URLs in this namespace
在urls.py中的urlpatterns中重复定义了admin,所以会有此警告,将重复定义的url注释掉即可。
urlpatterns = [
url('', admin.site.urls),
url(r'^jet/', include('jet.urls', 'jet')),
# 注释掉此行
# url(r'^admin/', admin.site.urls),
url(r'^blog/', include('blog.urls')),
]
Django 时区设置
此笔记为转载
在Django的配置文件settings.py中,有两个配置参数是跟时间与时区有关的,分别是TIME_ZONE和USE_TZ
如果USE_TZ设置为True时,Django会使用系统默认设置的时区,即America/Chicago,此时的TIME_ZONE不管有没有设置都不起作用。
如果USE_TZ 设置为False,而TIME_ZONE设置为None,则Django还是会使用默认的America/Chicago时间。若TIME_ZONE设置为其它时区的话,则还要分情况,如果是Windows系统,则TIME_ZONE设置是没用的,Django会使用本机的时间。如果为其他系统,则使用该时区的时间,入设置USE_TZ = False, TIME_ZONE = 'Asia/Shanghai', 则使用上海的UTC时间。
修改Django默认端口号
Django默认端口号是8000,可以在启动runserver的时候,指定端口号,例如 python manage.py runserver 0.0.0.0:8001
但这样每次启动都需要执行端口号的相关命令,理想的状态下,是可以将端口号配置在配置文件中,启动时,根据配置文件自动选择对应的端口号
参考:https://stackoverflow.com/questions/23639085/django-change-default-runserver-port
对项目根目录的manage.py进行修改,主要是注释下面的部分,同时也可以修改默认地址。
#!/usr/bin/env python
import os
import sys
from django.conf import settings
if __name__ == "__main__":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", cmdline.settings)
try:
from django.core.management import execute_from_command_line
except ImportError:
# The above import may fail for some other reason. Ensure that the
# issue is really that Django is missing to avoid masking other
# exceptions on Python 2.
try:
import django
except ImportError:
raise ImportError(
"Couldn't import Django. Are you sure it's installed and "
"available on your PYTHONPATH environment variable? Did you "
"forget to activate a virtual environment?"
)
raise
from django.core.management.commands.runserver import Command
# 修改默认地址
Command.default_addr = settings.HOST
# 修改默认端口号
Command.default_port = settings.PORT
execute_from_command_line(sys.argv)
QueryDict转dict
Django中,request的POST和GET属性,都是QueryDict的实例,直接用dict(request.GET)进行转换(假设HttpRequest的实例为request),会发送value都为list的情况,即使value只是一个string,也会变成['张三'],正确的方法应该是request.GET.dict(),POST也是同样的方法。
form_data = request.POST.dict()
JsonResponse接受非dict对象
默认情况下,JsonResponse要求接受一个dict对象,如果传入list等非dict对象,对引发TypeError。这个时候在JsonResponse的参数中增加safe为False(默认为True),使其处理非dict对象。
return JsonResponse([], safe=False)
强制Django渲染静态文件
在Django的Debug模式关闭后,默认不会渲染静态文件。合理的做法应该是将静态文件部署到Nginx上,再Django中再进行配置。但是有些情况,比如项目规模极小,不希望引入Nginx,可以通过命令强制Django渲染静态文件。
python manage.py runserver --insecure
Django 2.0.7 使用小知识的更多相关文章
- TP5.0中的小知识总结
2017年6月26日15:01:231.input 获取输入数据 支持默认值和过滤:接收用户在前台输入的数据,可以是get方式也可以是post方式.2.ThinkPHP5.0内置了分页实现,要给 ...
- 【C#小知识】C#中一些易混淆概念总结(五)---------继承 分类: C# 2014-02-06 22:05 1106人阅读 评论(0) 收藏
目录: [C#小知识]C#中一些易混淆概念总结--------数据类型存储位置,方法调用,out和ref参数的使用 [C#小知识]C#中一些易混淆概念总结(二)--------构造函数,this关键字 ...
- 【C#小知识】C#中一些易混淆概念总结(二)--------构造函数,this关键字,部分类,枚举 分类: C# 2014-02-03 01:24 1576人阅读 评论(0) 收藏
目录: [C#小知识]C#中一些易混淆概念总结--------数据类型存储位置,方法调用,out和ref参数的使用 继上篇对一些C#概念问题进行细节的剖析以后,收获颇多.以前,读书的时候,一句话一掠而 ...
- 在VC6.0下运行C语言程序,以及编程入门必备的常识类小知识!
今天给大家分享在VC6.0环境下编写C语言程序的基本步骤,为初学者打开学习C语言的第一道门.具体步骤如下(如果需要软件资源,可以留言): 1)新建工作区 依次点击 文件--新建--工作区 或是Ctrl ...
- $Django 路飞之小知识回顾,Vue之样式element-ui,Vue绑定图片--mounted页面挂载--路由携带参数
一 小知识回顾 1 级联删除问题 2 一张表关联多个表,比如有manytomanyfileds forignkey,基于对象查询存在的问题:反向查询的时候 表名小写_set.all()不知是哪个字段 ...
- 【C#小知识】C#中一些易混淆概念总结(六)---------解析里氏替换原则,虚方法 分类: C# 2014-02-08 01:53 1826人阅读 评论(0) 收藏
目录: [C#小知识]C#中一些易混淆概念总结--------数据类型存储位置,方法调用,out和ref参数的使用 [C#小知识]C#中一些易混淆概念总结(二)--------构造函数,this关键字 ...
- 【C#小知识】C#中一些易混淆概念总结(四)---------解析Console.WriteLine() 分类: C# 2014-02-05 17:18 1060人阅读 评论(0) 收藏
目录: [C#小知识]C#中一些易混淆概念总结 [C#小知识]C#中一些易混淆概念总结(二) [C#小知识]C#中一些易混淆概念总结(三) ------------------------------ ...
- python3开发进阶-Django框架学习前的小项目(一个简单的学员管理系统)
''' 自己独立写一个学员管理系统 表结构: 班级表: -id -grade_name 学生表: -id -student_name -grade 关联外键班级表 老师表: -id -teacher_ ...
- 蓝牙Bluetooth技术小知识
蓝牙Bluetooth技术以及广泛的应用于各种设备,并将继续在物联网IoT领域担任重要角色.下面搜集整理了一些关于蓝牙技术的小知识,以备参考. 蓝牙Bluetooth技术始创于1994年,其名字来源于 ...
随机推荐
- 【Linux系列】Centos 7安装以及网络配置(一)
目的 本文主要介绍以下两点: 一. 如何在Oracle VM VirtualBox安装centos(已有VirtualBox) 二. 如何在内网里实现虚拟机访问外网.物理主机以及物理主机访问虚拟机 一 ...
- thinkphp5中取消了3.2版本中的单字母函数,初用tp5可能不大适应,下边给出两者的对应参照表,以便查阅。
3.2版本 5.0版本 C config E exception G debug L lang T 废除 I input N 废除 D model M db A controller R action ...
- nyoj 23-取石子(一)(博弈)
23-取石子(一) 内存限制:64MB 时间限制:3000ms Special Judge: No accepted:20 submit:33 题目描述: 一天,TT在寝室闲着无聊,和同寝的人玩起了取 ...
- nyoj 69-数的长度 (log10(),计算数的位数)
69-数的长度 内存限制:64MB 时间限制:3000ms 特判: No 通过数:10 提交数:13 难度:1 题目描述: N!阶乘是一个非常大的数,大家都知道计算公式是N!=N*(N-1)····· ...
- SQLite性能 - 意想不到,但又情理之中的测试结果。
win7(64) sata2 希捷 MINGW32_NT-(/) cat: /proc/cpuinfo: No such file or directory ------ in disk ---- r ...
- ES6的基础知识(一)
1.ECMAScript 6.0(以下简称ES6). 2.ECMAScript 和 JavaScript 的关系是,前者是后者的规格,后者是前者的其中一种实现. 3.对ES6支持的浏览器:超过 90% ...
- Python拼接字符串的七种方式
忘了在哪看到一位编程大牛调侃,他说程序员每天就做两件事,其中之一就是处理字符串.相信不少同学会有同感. 几乎任何一种编程语言,都把字符串列为最基础和不可或缺的数据类型.而拼接字符串是必备的一种技能.今 ...
- 解决failed to push some refs to 'git@github.com:TQBX/GIT-Github-.git'问题
解决以下问题问题: git pull origin master --allow-unrelated-histories 进入vim界面->ESC->:wq 重复第一步->git p ...
- websrom编译器
webstorm less环境配置 备注: 安装node后,在命令行输入npm install -g less 即可安装less,打开webstorm setting-Tools-FileWatche ...
- .NET Core 3.0之深入源码理解HealthCheck(一)
写在前面 我们的系统可能因为正在部署.服务异常终止或者其他问题导致系统处于非健康状态,这个时候我们需要知道系统的健康状况,而健康检查可以帮助我们快速确定系统是否处于正常状态.一般情况下,我们会提供公开 ...