Django个人博客搭建
工具 :
-
Pycharm
-
Python3.8
-
前端:CSS2+HTML5+JavaScript
-
Django3.0
-
Git版本管理器
-
Github网站或者gitee
前期项目创建:
-
创建文件夹项目 mkdir my_bolg
-
创建项目django-admin startproject bolg
-
cd bolg
-
创建虚拟环境:py -m venv env
-
启动虚拟环境:env\Scripts\activate
-
创建项目:django-admin startproject mysite
-
创建用户应用:py manage.py startapp blog
报错处理:ModuleNotFoundError: No module named ‘django’
ImportError: Couldn’t import Django. Are you sure it’s installed and available on your PYTHONPATH en
vironment variable? Did you forget to activate a virtual environment?安装:pip install django-summernote
-
创建数据库:mysql -uroot -p
-
create database tedu_note default charset utf8;
-
启动项目:python manage.py runserver
修改配置文件settings
- manage.py: 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互。
- /init.py: 一个空文件,告诉 Python 该目录是一个 Python 包。
- /asgi.py: 一个 ASGI 兼容的 Web 服务器的入口,以便运行你的项目。
- /settings.py: 该 Django 项目的设置/配置。
- /urls.py: 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站"目录"。
- /wsgi.py: 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。
修改数据库: 修改时区 LANGUAGE_CODE = 'zh-hans' TIME_ZONE = 'Asia/Shanghai' 修改静态文件 STATIC_URL = '/static/' STATICFILES_DIRS = [ BASE_DIR / "static", '/var/www/static/', ] query = query.encode(errors='replace') AttributeError: 'bytes' object has no attribute 'encode'报错处理 修改: if query is not None: query = query.encode(errors='replace') return query 删除其中的:query.encode 创建models.py from django.db import models
创建static
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
# ... the rest of your URLconf goes here ...
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
创建users
py manage.py startapp users
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',#管理静态文件
'blog.apps.BlogConfig', #blog应用
'users.apps.UsersConfig',#用户中心
]
创建用户models
from django.db import models
from django.contrib.auth.models import User
# Create your models here.
class UserProfile(models.Model):
USER_GENDER_TYPE=(
('male','男'),
('female','女')
)
owner=models.OneToOneField(User,on_delete=models.CASCADE,verbose_name='用户')
nike_name=models.CharField('昵称',max_length=23,blank=True,default='')
birthday=models.DateField('生日',null=True,blank=True)
gender=models.CharField('性别',max_length=6,choices=USER_GENDER_TYPE,default='male')
address=models.CharField('地址',max_length=100,blank=True,default='')
image=models.ImageField(upload_to='images/%Y/%m',default='images/default.png',max_length=100,verbose_name='用户头像')
ImageField图片处理
安装:python -m pip install Pillow
同步数据库
python manage.py makemigrations
python manage.py migrate
创建超级用户:
py manage.py createsuperuser
内容简介:
models.py是连接数据库,需要保存在数据库中的数据在里面编写
forms.py呈现在用户的视图模板可以封装继承,相当于框架
views.py视图函数处理各个视图函数的跳转和响应
templates文件夹是HTML编写的文件夹主要是美化界面和排版