Django-adminlte-ui学习记录 1 添加App
Djando-adminlte-ui 压缩包下载链接:
链接:https://pan.baidu.com/s/1AJ_QyjPiYluHWv8Hd5LyLg
提取码:1fkr
(失效请留言,我及时更新)
将django-adminlte-ui下载到本地后,创建新管理员来登陆系统:
python manage.py createsuperuser
输入创建的超级管理员账号(例如:admin),输入邮箱(选填)和密码
已有超级管理员账号,可越过此步骤直接使用以下账号登陆
账号:admin
密码:123456
在D:\django-adminlte-ui\mysite下运行项目:
python manage.py runserver
打开网址进入系统:
http://127.0.0.1:8000/admin/
添加App
1 创建新app:
python manage.py startapp app_name
2 在mysite的settings.py中添加INSTALLED_APPS :
INSTALLED_APPS = [
'adminlteui',
'app_name', //此处为自己手动创建的新app的名字,和python manage.py startapp xxx中的xxx名字一致
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
3 在新建的app中创建python文件,命名为urls.py,并写入如下代码
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
4 在mysite的urls.py中添加urlpatterns:
urlpatterns = [
path('admin/app_name/', include('app_name.urls')),
path('admin/', admin.site.urls),
]
5 在templates中的admin目录下创建app_name文件夹,在文件夹下创建app_name_change_list.html,里面放入该app的html页面:
{% extends "admin/base_site.html" %}
{% load i18n admin_urls static admin_list %}
{% block extrastyle %}
{{ block.super }}
<link rel="stylesheet" href="{% static "admin/plugins/datatables/dataTables.bootstrap.css" %}">
{% if cl.formset or action_form %}
<script type="text/javascript" src="{% url 'admin:jsi18n' %}"></script>
{% endif %}
{{ media.css }}
{% if not actions_on_top and not actions_on_bottom %}
<style>
#changelist table thead th:first-child {width: inherit}
table{
border-collapse:collapse;
table-layout:fixed;
border-radius:5px;
/*overflow:hidden;*/
margin: 10px auto;
/*background-color: #328ef4;*/
/*color: #c7dafb;*/
}
table td,th{
/* padding: 5px;
width: 33%; */
text-align: center;
/*border:1px solid #3C8DBC ;*/
vertical-align:middle;
/* font-size: 15px; */
width: 80%;
}
#ol{
background-color: #F5F5F5;
}
</style>
{% endif %}
{% endblock %}
{% block extrahead %}
{{ block.super }}
{{ media.js }}
{% endblock %}
{% block bodyclass %}{{ block.super }} app-{{ opts.app_label }} model-{{ opts.model_name }} change-list{% endblock %}
{% if not is_popup %}
{% block breadcrumbs %}
<ol class="breadcrumb">
<li><a href="{% url 'admin:index' %}"><i class="fa fa-dashboard"></i> {% trans 'Home' %}</a></li>
<li><a href="javascript:void(0)">{{ cl.opts.app_config.verbose_name }}</a></li>
<li class="active">{{ cl.opts.verbose_name_plural|capfirst }}</li>
</ol>
{% endblock %}
{% endif %}
{% block content_title %} {{ cl.opts.verbose_name_plural|capfirst }} {% endblock %}
{% block coltype %}flex{% endblock %}
{% block content %}
<div>这里开始写页面内容</div>
{% endblock %}
{% block extrajs %}
<script src="{% static "admin/plugins/datatables/jquery.dataTables.min.js" %}"></script>
<script src="{% static "admin/plugins/datatables/dataTables.bootstrap.min.js" %}"></script>
{% endblock %}
6 在新创建的app的models.py中创建数据库:
from django.db import models
import datetime
# Create your models here.
class db_name(models.Model): # db_name为想创建的数据库的名字
parameter1 = models.IntegerField(default='', verbose_name='字段名称') # 字段1 int类型
parameter2 = models.CharField(primary_key=True, max_length=2000, verbose_name='字段名称') # 字段2 char类型
date = models.DateField(default=datetime.date(2020, 1, 1),help_text="今天日期", verbose_name='日期') # 字段3 时间类型
def __str__(self):
return self.parameter1
class Meta:
verbose_name = '标题'
verbose_name_plural = '标题描述'
7 在命令行迁移数据库信息:
python manage.py makemigrations
python manage.py migrate
8 在创建的app目录下的view.py中写入代码,连接templates/admin/app_name/app_name_change_list.html页面:
from django.shortcuts import render
def index(request):
return render(request, "admin/app_name/app_name_change_list.html")
9 在最外层的mysite目录下(adminlteui、mysite、app_name、templates的上一级)运行项目:
python manage.py runserver
打开如下网址即可看到页面:
http://127.0.0.1:8000/admin/app_name
10 打开系统,在菜单中添加侧边栏路径:
设置–菜单设置–增加菜单–
名称为该功能页面在侧边栏的菜单名;链接类型-外部;链接:http://127.0.0.1:8000/admin/app_name ;即可通过侧边导航栏直接进入新创建的app的html页面。