一.GitHub
1.注册GitHub账户(不具体操作了)
2.下载GitHub客户端
链接:https://pan.baidu.com/s/1mDgDZkTJlvQmq46T2pjslA
提取码:lhc2
百度云安装包
然后将账号进行登陆
3.建立仓库


4.用GitHub Desktop打开


4.打开文件



我们在这里就可以看到新增的代码啦
二.创建项目
我们需要创建一个Django项目,怎么样创建我们之前讲过(这里用的python是3.7版本)

-
但是当我们新建完项目时,会发现什么也没有?
-
打开一个新的项目,然后再找到我们刚刚创建的那个项目地址,再新建一个Django项目(我在别的目录建立了一个项目然后将文件移了过去,也不知道好不好使)
-
运行,很好,运行成功了,接着来

三.搭建项目
1.安装依赖
-
在MXOline目录下新建一个requirements.txt文件
- 在这个文件中写入你想要安装的依赖包
mysqlclient
Pillow
redis
django-pure-pagination
django-simple-captcha
- 执行命令安装依赖
pip install -r requirements.txt

- 查看依赖是否安装成功
pip list

2.配置数据库
-
删掉这个文件
- 打开phpStudy软件开启数据库
-
新建数据库
- 打开MXOline文件夹下的settings.py文件
删除原数据库链接,链接新建数据库
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'mxonline', # 数据库名字
'USER':'root',
'PASSWORD':'root',
'HOST':'localhost',
'PORT':3306,
}
}

- 将语言改为中文
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'
USE_TZ = False

-
运行:http://127.0.0.1:8000/
- 这个时候,让我们把django换成2.2版本的,卸载之前的django版本
pip uninstall django
- 安装2.2版本的django
pip install django==2.2
-
运行程序(显示2.2版本)
-
访问admin的报错
-
打开这个命令行
- 迁移数据库
makemigrations
migrate

-
刷新数据库
- 创建超级用户
createsuperuser

- 启动项目,输入网址:http://127.0.0.1:8000/admin
3.提交代码到github上
-
打开GitHub desktop
-
提交
-
刷新
4.表单制作
- 创建app
startapp users

- 打开MXOline的settings.py文件注册app
'users.apps.UsersConfig',

- 再次注册app
startapp courses

- 打开MXOline的settings.py文件注册app
courses.apps.CoursesConfig
-
管理我们的app
-
将我们创建的app都移到这个文件夹下
进行勾选的话,这里注册的信息就会被自动修改
5.注册用户表
-
查看表属性
- 覆盖用户表
打开users文件夹下的models.py文件:
from django.db import models
from datetime import datetime
from django.contrib.auth.models import AbstractUser
# Create your models here.
GENDER_CHOICES = {
("male", "男"),
("female", "女")
} #枚举类型
class BaseModel(models.Model):
add_time = models.DateTimeField(default=datetime.now,verbose_name="添加时间")
class Meta:
abstract = True #将该基类定义为抽象类,即不生成对应的数据库表
#只作为一个可以继承的基类
class UserProfile(AbstractUser):
nick_name = models.CharField(max_length=50,verbose_name="昵称",default="")
birthday = models.DateField(verbose_name="生日",null=True,blank=True)
gender = models.CharField(max_length=6, verbose_name="性别", choices=GENDER_CHOICES)
address = models.CharField(max_length=100, verbose_name="地址",default="")
mobile = models.CharField(max_length=11, verbose_name="手机号码")
image = models.ImageField(verbose_name="用户头像",upload_to="head_image/%Y/%m",default="default.jpg")
class Meta:
verbose_name = "用户信息"
verbose_name_plural = verbose_name
# def unread_nums(self):
# #未读消息数量
# return self.usermessage_set.filter(has_read=False).count()
def __str__(self):
if self.nick_name:
return self.nick_name
else:
return self.username
- 迁移数据库
makemigrations
migrate
这个时候会报错:

- 打开MXOline文件的settings.py文件,加上这句话
#user表在django中已经注册,appname=user
AUTH_USER_MODEL = "users.UserProfile"

那么这个东西是在那里注册的呢?

-
然后在执行迁移
但是依旧会报错
对于这个错误来说,我们将数据库中的表都删除:
然后再执行迁移
迁移成功啦~ -
生成超级用户
-
启动程序,进入管理界面
- 进入到apps/users/admin.py目录下:
from django.contrib import admin
# Register your models here.
from apps.users.models import UserProfile
class UserProfileAdmin(admin.ModelAdmin):
pass
admin.site.register(UserProfile,UserProfileAdmin)
-
刷新浏览器页面:
- 进入到apps/users/apps.py目录下:
from django.apps import AppConfig
class UsersConfig(AppConfig):
name = 'apps.users'
verbose_name="用户"

-
刷新浏览器,变成中文啦
(此文章仅作为个人学习笔记使用,如有错误欢迎指正~)
网友评论