vim blogproject/settings.py
修改DATABASES
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'blogdb',
'USER':'buser',
'PASSWORD':'123456',
'HOST':'192.168.0.68',
'PORT':'3355',
}
}
创建models
# -*- coding:utf-8 -*-
from django.db import models
from django.contrib.auth.models import AbstractUser
# 用户模型.
class User(AbstractUser):
avatar = models.ImageField(upload_to='avatar/%Y/%m', default='avatar/default.png', max_length=200, blank=True, null=True, verbose_name='用户头像')
qq = models.CharField(max_length=20, blank=True, null=True, verbose_name='QQ号码')
mobile = models.CharField(max_length=11, blank=True, null=True, unique=True, verbose_name='手机号码')
class Meta:
verbose_name = '用户'
verbose_name_plural = verbose_name
ordering = ['-id']
def __unicode__(self):
return self.username
# 标签
class Tag(models.Model):
name = models.CharField(max_length=30, verbose_name='标签名称')
class Meta:
verbose_name = '标签'
verbose_name_plural = verbose_name
ordering = ['id']
def __unicode__(self):
return self.name
# 文章分类
class Category(models.Model):
name = models.CharField(max_length=30, verbose_name='分类名称')
index = models.IntegerField('显示顺序(从小到大)',default=999)
class Meta:
verbose_name = '分类'
verbose_name_plural = verbose_name
ordering = ['index', 'id']
def __unicode__(self):
return self.name
# 文章模型
class Article(models.Model):
title = models.CharField(max_length=50, verbose_name='文章标题')
desc = models.CharField(max_length=50, verbose_name='文章描述')
content = models.TextField(verbose_name='文章内容')
click_count = models.IntegerField(default=0, verbose_name='点击次数')
is_recommend = models.BooleanField(default=False, verbose_name='是否推荐')
date_publish = models.DateTimeField(auto_now_add=True, verbose_name='发布时间')
user = models.ForeignKey(User, verbose_name='用户')
category = models.ForeignKey(Category, blank=True, null=True, verbose_name='分类')
tag = models.ManyToManyField(Tag, verbose_name='标签')
class Meta:
verbose_name = '文章'
verbose_name_plural = verbose_name
ordering = ['-date_publish']
def __unicode__(self):
return self.title
# 评论模型
class Comment(models.Model):
content = models.TextField(verbose_name='评论内容')
date_publish = models.DateTimeField(auto_now_add=True, verbose_name='发布时间')
user = models.ForeignKey(User, blank=True, null=True, verbose_name='用户')
article = models.ForeignKey(Article, blank=True, null=True, verbose_name='文章')
pid = models.ForeignKey('self', blank=True, null=True, verbose_name='父级评论')
class Meta:
verbose_name = '评论'
verbose_name_plural = verbose_name
ordering = ['-date_publish']
def __unicode__(self):
return str(self.id)
# 友情链接
class Links(models.Model):
title = models.CharField(max_length=50, verbose_name='标题')
description = models.CharField(max_length=200, verbose_name='友情链接描述')
callback_url = models.URLField(verbose_name='url地址')
date_publish = models.DateTimeField(auto_now_add=True, verbose_name='发布时间')
index = models.IntegerField(default=999, verbose_name='排列顺序(从小到大)')
class Meta:
verbose_name = '友情链接'
verbose_name_plural = verbose_name
ordering = ['index', 'id']
def __unicode__(self):
return self.title
# 广告
class Ad(models.Model):
title = models.CharField(max_length=50, verbose_name='广告标题')
description = models.CharField(max_length=200, verbose_name='广告描述')
image_url = models.ImageField(upload_to='ad/%Y/%m', verbose_name='图片路径')
callback_url = models.URLField(null=True, blank=True, verbose_name='回调url')
date_publish = models.DateTimeField(auto_now_add=True, verbose_name='发布时间')
index = models.IntegerField(default=999, verbose_name='排列顺序(从小到大)')
class Meta:
verbose_name = u'广告'
verbose_name_plural = verbose_name
ordering = ['index', 'id']
def __unicode__(self):
return self.title
class Meta:
verbose_name = u'广告'
verbose_name_plural = verbose_name
ordering = ['index', 'id']
def __unicode__(self):
return self.title
加入自定义用户模型
vim blogproject/settings.py
AUTH_USER_MODEL = 'blog.User'
设置完毕,同步数据
python manage.py makemigrations blog
python manage.py migrate
相关推荐
- ORM(对象关系映射):Django的ORM允许开发者使用Python代码来操作数据库,无需编写SQL语句,支持多种数据库系统如SQLite、MySQL、PostgreSQL等。 - URL调度器:Django的URLconfs(URL配置)系统使URL设计变得灵活...
【Django博客项目源码+mysql数据库】是一个适合新手学习的实践项目,它结合了流行的Python Web框架Django和关系型数据库MySQL。这个项目提供了一整套完整的源代码,可以帮助初学者快速理解如何构建一个基于Django的...
**标题与描述解析** ...通过PyPI下载并安装此库,开发者能够更好地利用MySQL数据库的优势,同时保持Django的优雅和效率。在实际项目中,了解并合理运用这些特性,可以提升Web应用的性能和可维护性。
`django-mysql-2.2.2.tar.gz` 是一个针对Python编程语言的压缩包文件,主要用于拓展Django框架与MySQL数据库之间的集成。这个库提供了更高级的功能和优化,使得在使用Django开发后端应用程序时,能够更好地利用MySQL...
在本教程中,我们将深入探讨如何使用Django框架创建第一个项目,并将其与MySQL数据库集成以实现用户注册和登录功能。Django是一个强大的Python Web开发框架,而MySQL则是一种广泛使用的开源关系型数据库管理系统。让...
3. 创建数据库模型:使用Django的`makemigrations`和`migrate`命令。 4. 启动Vue.js开发服务器:在Vue.js项目根目录下运行`npm run serve`。 5. 启动Django服务器:在项目根目录下运行`python manage.py runserver`...
开发人员在使用`django-microsip-base` 时,需要熟悉Django的基本操作,包括安装依赖、配置项目、创建模型、编写视图和模板等。在部署时,通常会涉及到选择合适的Web服务器(如Gunicorn或uWSGI)、数据库服务器(如...
在这个项目中,可能使用了pymysql库与MySQL数据库进行交互,实现数据的CRUD(创建、读取、更新、删除)操作。 4. **视图(View)**:视图是处理用户请求并返回响应的部分。视图函数或类接收HTTP请求,处理相关逻辑...
综上所述,“Django-blog”项目是一个典型的Django应用实例,它展示了如何利用Python的Django框架、MySQL数据库、jQuery和Bootstrap前端技术,构建一个具备基本功能的博客系统。这样的项目对于初学者来说,是一个很...
通过这个扩展,你可以使用Django的ORM(对象关系映射)系统,就像在处理其他受支持的数据库(如SQLite、MySQL或PostgreSQL)一样,无需深入理解SQL Server的底层细节。 安装与配置是使用"django-mssql-1.4"的关键...
总结一下,这个实例展示了如何在Django中连接MySQL数据库,创建模型,同步数据库,定义视图,设置URL路由,以及在模板中显示数据。这个过程是Django进行数据驱动开发的基础,可以帮助你构建复杂的数据展示和交互功能...
Django-Blog项目可能使用了SQLite、MySQL或PostgreSQL作为后端数据库。 9. **静态文件与媒体文件** Django管理静态文件(如CSS、JavaScript、图片等)和用户上传的媒体文件。在生产环境中,这些文件通常会被单独...
这个过程涵盖了使用Python Django框架与MySQL数据库交互的基本步骤,包括模型定义、数据库配置、视图函数创建、HTML表单以及URL路由。对于初学者或有一定基础的开发者来说,这是一个很好的实践项目,有助于理解Web...
这是在数据库表(django 模型)级别完成的。 核心是一个名为 Tenant 的模型,只有两个字段:姓名和电子邮件。 通过添加指向该租户模型的 ForeignKey 字段,可以使 django 项目中的任何其他模型成为“租户感知”。 ...
9. **数据库操作**:Django支持多种数据库,如SQLite、MySQL、PostgreSQL等,通过更改`settings.py`中的DATABASES配置,可以轻松切换。 10. **中间件(Middleware)**:中间件是Django提供的一种全局请求/响应处理...
通过`models.py`文件创建模型类,Django会自动生成数据库表,提供CRUD(创建、读取、更新、删除)操作。 4. **URL调度器(URL Routing)** Django的URLconf系统允许开发者通过正则表达式定义URL模式,将URL映射到...
8. **数据库支持**:Django支持多种数据库引擎,包括SQLite、MySQL、PostgreSQL和Oracle,这提供了良好的数据库选择灵活性。 9. **社区和文档**:Django拥有庞大的开发者社区和详尽的官方文档,无论是初学者还是...
总的来说,wc-django-geo-db是Python和Django开发者处理地理数据的利器,它简化了数据库集成,并为创建地理信息相关的Web应用提供了便利。通过深入理解和有效利用这个库,开发者能够提升项目的效率和专业性。
通过配置settings.py文件中的DATABASES设置,我们可以将Django项目连接到MySQL数据库。在本例中,我们需要从数据库中读取数据表,这可以通过Django的ORM(对象关系映射)系统实现,它允许我们以Python对象的方式操作...
这个库可以帮助开发者方便地创建并维护适用于搜索引擎优化(SEO)的XML站点地图,确保网站的页面能够被搜索引擎有效地索引。在`django-static-sitemaps-2.0.1.tar.gz`这个压缩包中,包含了该库的源代码和其他相关...