运行环境:

Python 3.5.2

Django 2.0.3


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_ZONEUSE_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 = FalseTIME_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.3 使用笔记的更多相关文章

  1. Vue + Django 2.0.6 学习笔记 6.1-6.2 商品类别数据接口

    这两节主要是说获取商品类别的1 2 3类的列表和某个类的详情 我直接上代码吧 views.py: from .serializers import CategorySerializer class C ...

  2. 《玩转Django2.0》读书笔记-Django配置信息

    <玩转Django2.0>读书笔记-Django配置信息 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 项目配置是根据实际开发需求从而对整个Web框架编写相应配置信息. ...

  3. 《玩转Django2.0》读书笔记-Django建站基础

    <玩转Django2.0>读书笔记-Django建站基础 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.网站的定义及组成 网站(Website)是指在因特网上根据一 ...

  4. 《玩转Django2.0》读书笔记-探究视图

    <玩转Django2.0>读书笔记-探究视图 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 视图(View)是Django的MTV架构模式的V部分,主要负责处理用户请求 ...

  5. 《玩转Django2.0》读书笔记-编写URL规则

    <玩转Django2.0>读书笔记-编写URL规则 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. URL(Uniform Resource Locator,统一资源定位 ...

  6. Django 2.0.7 使用小知识

    Django 2.0.3 使用小知识 运行环境: Python 3.6.4 Django 2.0.7 Django Admin中model显示为中文 定义model时,定义一个Meta对象,设置需要显 ...

  7. cocos2d-x 3.0游戏实例学习笔记 《跑酷》 完结篇--源代码放送

    说明:这里是借鉴:晓风残月前辈的博客,他是将泰然网的跑酷教程,用cocos2d-x 2.X 版本号重写的,眼下我正在学习cocos2d-X3.0 于是就用cocos2d-X 3.0重写,并做相关笔记 ...

  8. Django 2.0 新特性 抢先看!

    一.Python兼容性 Django 2.0支持Python3.4.3.5和3.6.Django官方强烈推荐每个系列的最新版本. 最重要的是Django 2.0不再支持Python2! Django ...

  9. Django 2.0 学习

    Django django是基于MTV结构的WEB框架 Model 数据库操作 Template 模版文件 View 业务处理 在Python中安装django 2.0 1 直接安装 pip inst ...

随机推荐

  1. throws和throw抛出异常的使用规则

    一直对java中的throws和throw不太理解.最近一直在查这两个方面的资料,算是能明白一点吧.如果我下面的观点哪有不对,希望指出来,我加以改进.         throw:(针对对象的做法) ...

  2. git 使用ssh密钥

    一.查看仓库支持的传输协议 1.1查看仓库支持的传输协议 使用命令 git remote -v 查看你当前的 remote url root@zengyue:/home/yuanGit# git re ...

  3. Java abstract interface与 interface的区别

    我们常常遇到abstract class与 interface的区别,今天却遇到了abstract interface,感觉interface不用abstract再修饰了啊.结论:事实也确实如此,编译 ...

  4. 安装wamp提示You dont't have permission to accesson on this server的解决方案

    展示一下安装好的效果图 首先找到安装目录下的路径[wamp\bin\apache\Apache2.2.21\conf\] § 找到httpd.conf,用记事本打开httpd.conf,然后将 1. ...

  5. Appium学习笔记2_Android获取元素篇

    在利用Appium做自动化测试时,最重要的一步就是获取对应的元素值,根据元素来对对象进行对应的操作,如果获得对象元素呢? Appium Server Console其实提供了一个界面对话框" ...

  6. [转帖]Intel新一代Xeon完整曝光

    AMD已经官宣7nm工艺的第二代EPYC霄龙服务器平台,今年上半年就会大规模出货,而在Intel这边,由于10nm工艺进展还是不够快,在服务器上还是需要14nm继续打天下,而且还有两代14nm工艺产品 ...

  7. Docker 安装私有镜像库的简单使用

    公司的网络实在是太差了, 想着自己搭建一个私有的镜像库进行使用测试使用.... docker pull registry.docker-cn.com/library/registry docker t ...

  8. FICO基础知识(二)

    FI中的maser data: COA (Chart Of Account)  科目表 Account 科目 Vendor master dada  供应商主数据 Customer master da ...

  9. Java微信二次开发(四)

    自定义文字菜单,暂时先实现一个根据用户输入城市名称来查询邮政编码和查询区号的功能 需要导入库:mysql-connector-java-5.0.8-bin.jar 第一步:利用Navicat新建一个用 ...

  10. loadrunner 基础-学习笔记一

    由于公司要使用loadrunner暂停学习jmeter 1 loadrunner组件: virtual user generator:录制最终用户业务流程并创建自动化性能测试脚本,vuser脚本 co ...