小编jon*_*nny的帖子

django更改默认的runserver端口

我想使默认端口manage.py runserver侦听一个无关的可指定的端口config.ini.有没有比解析sys.argv内部manage.py和插入配置端口更容易的解决方案?

目标是在./manage.py runserver不必每次都指定地址和端口的情况下运行,而是让它从中获取参数config.ini.

python django django-manage.py manage.py

97
推荐指数
11
解决办法
14万
查看次数

在Python中检查当前线程是否是主线程

之前已经回答过Android,Objective CC++,但显然不适用于Python.如何可靠地确定当前线程是否是主线程?我可以想到一些方法,其中没有一个真正让我满意,认为它可以像比较它是否容易threading.MainThread.

检查线程名称

主线程实例化threading.py如下:

Thread.__init__(self, name="MainThread")
Run Code Online (Sandbox Code Playgroud)

所以可以做到

if threading.current_thread().name == 'MainThread'
Run Code Online (Sandbox Code Playgroud)

但是这个名字是固定的吗?我看过的其他代码检查了是否MainThread包含在线程名称的任何位置.

存储起始线程

我可以在程序启动的那一刻存储对起始线程的引用,即当时还没有其他线程.这绝对可靠,但对于这样一个简单的查询来说太麻烦了?

这样做有更简洁的方法吗?

python multithreading

31
推荐指数
2
解决办法
2万
查看次数

在django中强制严格的sql模式

我正试图强迫我的django项目始终使用严格sql_mode.还有其他方法,而不是把以下内容manage.py?看起来过于复杂.

def set_strict_sql_mode(sender, **kwargs):
    from django.conf import settings
    if settings.DATABASES['default']['ENGINE'] == 'django.db.backends.mysql':
        from django.db import connection
        cursor = connection.cursor()
        cursor.execute('SET session sql_mode=traditional')

from django.core.signals import request_started
request_started.connect(set_strict_sql_mode)
Run Code Online (Sandbox Code Playgroud)

python mysql django

13
推荐指数
2
解决办法
2万
查看次数