django mysql的配置_Django+mysql配置与实例

mysql驱动">第一步:下载mysql驱动

cmd进入创建好的django项目目录:使用命令

pip install mysqlclient

等待安装成功!

第二步:在settings.py中配置mysql连接参数(没有mysql的先装mysql)

databases = {

'default': {

'engine': 'django.db.backends.mysql',

'name': '数据库名(你得先在mysql中创建数据库)',

'user':'mysql用户名(如root)',

'password':'密码(如123456789)',

'host':'域名(127.0.0.1或localhost)',

'port':'端口号(3306)',

}

}

第三步:在models.py中创建model类

from django.db import models

# create your models here. 类似于mvc架构中的model

class article(models.model):

title = models.charfield(max_length=60,default='title')

content = models.textfield(null=true)

第四步:根据model类创建数据库表

1、cmd进入django项目路径下

2、python manage.py migrate #创建表结构,非model类的其他表,django所需要的

3、python manage.py makemigrations app名 #做数据迁移的准备

如:python manage.py makemigrations myblog myblog是我项目中的app名字

4、python manage.py migrate # 执行迁移,创建medel表结构

第五步:开始写代码吧

首先说下需求,就是在代码里向mysql中插入一条记录并显示到页面

1、在templates下新建一个模板,其实就是页面,如index.html

{{article.title}}

内容:{{ article.content }}

使用{{ }}在页面进行数据显示,这里看下就明白

2、配置url

1、在项目下的urls.py(注意是项目下的urls.py)配置url映射:

from django.conf.urls import url,include

from django.contrib import admin

#根url配置

urlpatterns = [

#url(页面正则,响应的方法名称)

url(r'^admin/', admin.site.urls),

url(r'^myblog/',include('myblog.urls')),

]

这里注意有一个include(’myblog.urls’)是我们接下来要配置的二级url,在app下的urls.py中配置

from django.conf.urls import url

from django.contrib import admin

from . import views

urlpatterns = [

#url(页面正则,响应的方法名称) ^index$:表示要以index开始和结束,正则约束

url(r'^index/$',views.index),

]

现在一个路径为’localhost:8000/myblog/index/’的访问路径就配好了,url(r’^index/$’,views.index)就表示最终/myblog/index/这个路径由views.py中的index方法来响应。

3、写响应函数:如像数据中插入一个数据,并显示在页面上

from django.shortcuts import render

from django.http import httpresponse

from myblog.models import article

# create your views here.

def index(request):

article = article(title='标题',content='内容!')

article.save()

return render(request,'index.html',{'article':article}

第六步:运行项目

我这里使用的pycharm,点击运行按钮即可,没有pycharm的可使用:

python manage.py runserver

希望与广大网友互动??

点此进行留言吧!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现可前端添加定时任务,可以使用 Django 的 celery_beat 库和 MySQL 数据库。 首先,需要安装 celery 和 celery_beat 库: ``` pip install celery django-celery-beat ``` 然后,在 Django 的 settings.py 文件中设置 celery 和 celery_beat 的相关配置: ```python # 配置 celery CELERY_BROKER_URL = 'redis://localhost:6379/0' CELERY_RESULT_BACKEND = 'redis://localhost:6379/0' # 配置 celery_beat CELERY_BEAT_SCHEDULER = 'django_celery_beat.schedulers:DatabaseScheduler' ``` 接下来,创建一个 app,用于存储定时任务的配置信息。这里假设 app 名称为 `tasks`,在 models.py 中定义一个 `Task` 模型: ```python from django.db import models class Task(models.Model): name = models.CharField(max_length=256) task = models.CharField(max_length=256) args = models.TextField(default='[]') kwargs = models.TextField(default='{}') schedule = models.CharField(max_length=256) ``` 这个模型包含了任务的名称、任务函数、参数、关键字参数和调度器配置信息。 接下来,需要在 app 的 admin.py 文件中注册 `Task` 模型,并自定义 admin 页面的表单。这里使用 `JSONEditorWidget` 来渲染参数和关键字参数的输入框: ```python from django.contrib import admin from django_json_widget.widgets import JSONEditorWidget from .models import Task @admin.register(Task) class TaskAdmin(admin.ModelAdmin): formfield_overrides = { models.TextField: {'widget': JSONEditorWidget}, } ``` 现在,可以在 admin 页面中添加、删除、修改定时任务的配置信息了。但是,这些配置信息并没有被 celery_beat 调度器使用。为了让 celery_beat 调度器能够使用这些信息,需要在 app 的 `apps.py` 文件中注册定时任务: ```python from django.apps import AppConfig from django.conf import settings from celery import Celery from celery.schedules import crontab from .models import Task class TasksConfig(AppConfig): name = 'tasks' def ready(self): # 创建 celery 实例 app = Celery('tasks', broker=settings.CELERY_BROKER_URL) # 获取所有定时任务配置信息 tasks = Task.objects.all() # 注册定时任务 for task in tasks: app.conf.beat_schedule[task.name] = { 'task': task.task, 'schedule': crontab(task.schedule), 'args': eval(task.args), 'kwargs': eval(task.kwargs), } ``` 这里通过 `AppConfig.ready()` 方法,在 app 启动时注册定时任务。在注册任务时,需要将 `args` 和 `kwargs` 字段的字符串转换成 Python 对象。最后,需要在项目的 __init__.py 文件中配置 app 的默认 AppConfig: ```python default_app_config = 'tasks.apps.TasksConfig' ``` 现在,就可以启动 celery 和 celery_beat 服务了: ``` celery -A proj worker -l info celery -A proj beat -l info ``` 启动服务后,即可根据 admin 页面上的定时任务配置信息自动调度任务了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值