ython里网站制作有两个特别厉害的工具,一个是重量Django,一个是轻量Flask,我选择的是Django,因为它很多轮子都造好了。
1.新建项目Project
在pycharm里file菜单直接创建,也可以写python语句
启动项目可点击右上角的启动键,也可以用python语句
另外,需要修改项目setting里时区和语言
LANGUAGE_CODE = ‘zh-Hans’
TIME_ZONE = ‘Asia/Shanghai’
2.新建app
在django里,每个模块应用叫app
通过命令行可以创建新的app
python manage.py startapp stu
在项目setting的Installed app里增加stu来注册
如果用菜单创建项目时,可以同时创建一个app,不用注册
在项目urls增加链接指向app名字stu
3.MVT模式
Models 数据表的结构,可以与数据库进行正反同步,指定返回的格式,也可以在html网页里获取相应的值
View 视图,通过urls不同的链接指向不同的页面函数,可右键自动生成
Template目前存放各类html文件
4.修改默认数据库为mysql
-
安装django后,通常需要改数据库为mysql,要安装mysqlclient
-
mysql安装我通常直接用xampp,装完启动apache和mysql,然后需要修改默认密码,进入其admin管理页面,修改用户密码,注意如果把root直接改了,这个页面刷新了就进不去了,需要进配置里再改;这里我们直接新建一个用户
-
再建一个pro202的数据库
将项目文件夹setting里数据库由默认的db.sqlite3改为mysql
DATABASES = {
# 'default': {
# 'ENGINE': 'django.db.backends.sqlite3',
# 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
# }
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'pro202',
'HOST': '127.0.0.1',
'PORT': 3306,
'USER': 'admin',
'PASSWORD': 'Bwb123456',
}
}
写好Model以后,可以生成迁移文件
python manage.py makemigrations stu
在migrations文件夹会生成0001_initial.py
然后将迁移文件同步到数据库
python manage.py migrate
这里可以指定需要同步的应用文件,但不建议,默认全部迁移
django有个表保存有迁移的记录
通过pycharm查看mysql数据库
右侧可加入mysql数据库,界面提示会自动下载一些插件
输入用户名和密码的地方,测试会报错,因为时区不对,之前我在做其他网站也遇到过,每次都手工去改;
Server returns invalid timezone. Go to ‘Advanced’ tab and set
‘serverTimezone’ property manually.
这里解决方法很简单,在右上角有个advanced,将serverTimezon设置为UTC,输入后要点击其他地方确认下,才算正式提交。
改好后点击测试,成功后可以看到数据库
其实系统也会帮我们直接生成一个默认的表格
5.admin功能
admin是django自带的管理界面,分为两个功能
- 项目文件夹的admin,可以管理用户名,在url里修改
urlpatterns = [
path('admin/', admin.site.urls),
path('stu/', include('stu.urls'))
]
- app文件夹的admin,可以管理model里的表格,进行增删改查
admin.site.register(Student)
不需要再修改url
增加的时候,根据model类型可以做表单检查
查看的时候,在model里可以定义显示样式
def __str__(self):
return 'Student:%s' % (self.sname)
第一次使用,需要创建超级用户,输入用户名、邮箱和密码
python manager.py creatsuperuser
如果提示找不到manage.py,则可能在根目录,需要通过CD空格进入项目目录
可以在数据表auth_user里看到,但是密码是加密的
具体内容请见b站教程,接下来继续看Django操作数据库https://www.bilibili.com/video/av84600595?p=20