本人为非计算机专业,写这篇文章的目的主要是总结一下我学会的网站简易制作方法,应用的是Django框架,但本文只是简单应用了一下,即使对Django不了解也可以上手,主要利用命令行生成app。对于非专业非科班出身的同学,这种简易制作方法相对友好,但针对专业人员我就不献丑了,不喜勿喷。
这里主要应用的是python的Django库,然后还用到了cmd命令行提示符,其实只用python的IDLE解释器和命令行也能完成,但是在操作方面多有不便,所以建议还是安装一下Pycharm比较好。提前安装好Django库,后续如果有需要额外安装的库,在命令行输入以下命令即可安装。
pip install Django # Django——库名
利用命令行进行项目框架布局。
1.1 创建项目
进入希望创建项目的文件夹,下图中框起来的地方输入cmd,点击enter进入命令行程序:
输入以下命令:(django_Frame是我的项目名称,可以根据需要输入你要的项目名称)
django-admin startproject django_Frame # 项目名称
# 以上命令创建了文件夹DjangoFrame,且生成文件目录如下:
1.2创建APP
进入项目文件夹,cd Django_Frame,执行如下命令:
python manage.py startapp APP名称(app_login)
此时在该项目中创建了app_login文件,login文件结构如下:
4 注册APP
文件创建好了之后,还需要在 django 中注册该 APP。找到Django_Frame>Django_Frame>settings.py 文件,在该文件中的 INSTALLED_APPS 添加一行,即可注册 APP:
'APP名称.apps.类名',
这行代码的 APP名称 是之前通过命令行创建的 APP名称,apps 是该文件夹中的 apps.py 文件,类名 是该 apps.py 文件中的类名。以我的项目为例,如下:
1 setting.py
完善设置,更改时区(默认数据库为sqlite3)
TIME_ZONE = 'Asia/Shanghai'
USE_TZ = False
USE_TZ 字段是UTC时间的开关。当USE_TZ = True时,系统采用UTC时间; 当USE_TZ = False时,系统采用要看TIME_ZONE(时区)是否设置。
2 model.py
建立数据库模型,建立users类,继承model
class User(models.Model):
id = models.IntegerField(db_column='ID', primary_key=True, verbose_name='序号')
name = models.CharField(db_column='YName', unique=True, max_length=10, verbose_name='姓名')
phone = models.CharField(db_column='YPhone', max_length=11, verbose_name='联系方式')
class Meta:
managed = True
db_table = 'user'
tips: 当模型类写好之后我们通常要进行数据库的迁移才能在数据库中创建表
在cmd或运行环境下,执行以下命令:
1. 生成迁移文件
python manage.py makemigrations
2. 同步到数据库中
python manage.py migrate
3. 创建超级用户
python manage.py createsuperuser
注意创建超级用户时设置用户名和密码。
3 admin.py
from app_login import models
admin.site.site_header = 'Django测试框架'
@admin.register(models.User)
class ClerksAdmin(admin.ModelAdmin):
list_display = ('id', 'name', 'phone',)
list_display_links = ('id',)
search_fields = ('id', 'name') # 通过id进行搜索查找
list_per_page = 20
list_filter = ('id', ) # 通过id进行筛选
ordering = ('-id',)
4定义视图:(运行接口)
4.1 view.py
from django.shortcuts import redirect
def index(request): # 直接调用登录界面,运行app可直接进入登录界面
return redirect('http://127.0.0.1:8000/admin/login/?next=/admin/')
4.2 url.py
from app_login import views
urlpatterns = [
path('admin/', admin.site.urls), # 原有的
path('', views.index), # 增加的
]
参考链接:
https://blog.csdn.net/qq_35357274/article/details/124668695
https://blog.csdn.net/qq_36711094/article/details/115121528