![](/img/trans.png)
[英]How do I make a bot say something when someone enter my discord server
[英]How can I make my Django App *do* something when I run the server?
这里的第一个问题。 我是 Python 的初学者,对于我的最终项目,我正在 Django 中制作一个抓取应用程序。 当我运行我的服务器时,我希望它启动一个BackgroundScheduler
,它每 10 分钟调用一次我的抓取应用程序。 现在我的调度程序在一个按钮上,但我不希望它在一个按钮上,我希望它在我运行服务器时正常工作,这可能吗?
我试过的:
ModuleNotFoundError:没有名为“finance_app.apps.FinanceAppConfig”的模块; 'finance_app.apps' 不是 package
apps.py 及其逻辑
from apscheduler.schedulers.background import BackgroundScheduler
from django.apps import AppConfig
from finance_app.scraper import scrape
class FinanceAppConfig(AppConfig):
name = 'finance_app'
def ready(self):
print('Initializing scheduler')
scheduler = BackgroundScheduler()
scheduler.add_job(scrape, 'interval', second=30)
scheduler.start()
有效的 BackgroundScheduler:
scheduler = BackgroundScheduler()
scheduler.add_job(scrape, 'interval', second=30)
scheduler.start()
在我的视图中调用刮板的调度程序
def scraper_view(request):
scrape()
scheduler = BackgroundScheduler()
scheduler.add_job(scrape, 'interval', minutes=10)
scheduler.start()
return redirect("../")
带有我想摆脱的视图的按钮
<div style="text-align: center;"><h2 class="subtitlu">
<a href="{% url 'scraper' %}">Scrape News</a>
</h2>
</div>
ModuleNotFoundError:没有名为“finance_app.apps.FinanceAppConfig”的模块
请查看发生错误的回溯。 例如。
Traceback (most recent call last):
...
File ".\app\urls.py", line 18, in <module>
from app import something
ModuleNotFoundError: No module named 'app'
您可以将回溯放在这里。
如果将应用添加到 settings.py INSTALLED_APPS 后出现错误,则应检查添加方式。 它应该只是'finance_app':
INSTALLED_APPS = [
'finance_app',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
我终于想通了,我的刮板文件中有 django_setup(),这就是为什么它不起作用的原因,也供将来参考,在来自 apps.py 的 ready() function 中,如果您有除 AppConfig 之外的任何导入,请导入它们在您的 ready() function 中,它应该可以工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.