UI自动化测试平台,Django“踩坑”之旅(一):“前端html页面找不到静态资源,报404”bug修复

 

​        pychanrm写完前端menu.html页面,通过“{% include "menu.html" %}”关联至home.html页面

        pycharm启动Django项目,浏览器访问:http://127.0.0.1:8000/home/,发现页面样式显示不全,pycharm控制台打印错误信息:引用的静态资源报404

        仔细检查html页面代码发现,是引用静态资源文件的路径写错了“/static/menu/”写成了“/static/nenu/”,将“/static/nenu/”改成了“/static/menu/”,然后pycharm重启Django项目,浏览器访问:http://127.0.0.1:8000/home/,页面显示正常,引用的静态资源正常显示

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,那我来给你介绍一下如何使用 Django 和 vbenadmin 来搭建一个自动化平台。 1. 安装 Django 和 vbenadmin 首先需要安装 Django 和 vbenadmin,可以使用 pip 进行安装: ```bash pip install Django pip install django-vben-admin ``` 2. 创建 Django 项目 使用 Django 的命令行工具创建一个新的项目: ```bash django-admin startproject myproject ``` 其中 myproject 是你的项目名称,可以根据实际情况进行修改。 3. 创建 Django 应用 在项目目录下创建一个新的应用: ```bash cd myproject python manage.py startapp myapp ``` 其中 myapp 是你的应用名称,可以根据实际情况进行修改。 4. 配置数据库 在 myproject/settings.py 文件中配置数据库信息,例如使用 SQLite: ```python DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': BASE_DIR / 'db.sqlite3', } } ``` 5. 配置 vbenadmin 在 myproject/settings.py 文件中添加 vbenadmin 的配置: ```python INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'vben_admin', 'myapp', ] MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', ] TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', ], }, }, ] STATIC_URL = '/static/' LOGIN_URL = '/admin/login/' VUE_ADMIN_CONFIG = { 'site_title': 'My Site', 'site_logo': '/static/logo.png', 'menu': [ { 'text': 'Dashboard', 'icon': 'el-icon-s-home', 'link': '/admin/dashboard/', }, ], } ``` 其中 VUE_ADMIN_CONFIG 是 vbenadmin 的配置,包括站点标题、站点 Logo、菜单等。 6. 创建数据库表 使用 Django 的命令行工具创建数据库表: ```bash python manage.py migrate ``` 7. 创建超级用户 使用 Django 的命令行工具创建超级用户: ```bash python manage.py createsuperuser ``` 根据提示输入用户名、邮箱和密码即可。 8. 创建模型 在 myapp/models.py 文件中定义数据模型,例如: ```python from django.db import models class Server(models.Model): name = models.CharField(max_length=50) ip = models.CharField(max_length=15) username = models.CharField(max_length=50) password = models.CharField(max_length=50) description = models.TextField(blank=True) def __str__(self): return self.name ``` 9. 注册模型 在 myapp/admin.py 文件中注册数据模型: ```python from django.contrib import admin from .models import Server admin.site.register(Server) ``` 10. 运行服务器 使用 Django 的命令行工具运行服务器: ```bash python manage.py runserver ``` 现在可以通过浏览器访问 http://127.0.0.1:8000/admin/ 进入后台管理界面,使用刚才创建的超级用户登录。 11. 创建前端页面 可以使用 vbenadmin 的组件来创建前端页面,例如创建一个服务器列表页面: ```vue <template> <v-card> <v-table :data="servers" :columns="columns" /> </v-card> </template> <script> export default { data() { return { servers: [], columns: [ { title: '名称', key: 'name' }, { title: 'IP地址', key: 'ip' }, { title: '用户名', key: 'username' }, { title: '描述', key: 'description' }, ], }; }, created() { this.getServers(); }, methods: { getServers() { this.$axios.get('/api/servers/').then((response) => { this.servers = response.data; }); }, }, }; </script> ``` 其中 v-table 是 vbenadmin 的表格组件,$axios 是 vbenadmin 封装的请求库,/api/servers/ 是后台接口地址。 12. 创建后台接口 在 myapp/views.py 文件中定义后台接口,例如: ```python from rest_framework import viewsets from .models import Server from .serializers import ServerSerializer class ServerViewSet(viewsets.ModelViewSet): queryset = Server.objects.all() serializer_class = ServerSerializer ``` 其中 ServerViewSet 继承自 rest_framework 的 viewsets.ModelViewSet,queryset 指定了数据源,serializer_class 指定了数据序列化器。 在 myapp/urls.py 文件中定义后台接口路由,例如: ```python from django.urls import path, include from rest_framework import routers from .views import ServerViewSet router = routers.DefaultRouter() router.register(r'servers', ServerViewSet) urlpatterns = [ path('api/', include(router.urls)), ] ``` 其中 routers.DefaultRouter 自动生成了 CRUD 操作的路由。 现在可以通过浏览器访问 http://127.0.0.1:8000/api/servers/ 获取服务器数据。 13. 集成前后端 在 myproject/settings.py 文件中配置静态文件目录: ```python STATICFILES_DIRS = [ BASE_DIR / 'static', ] ``` 在 static 目录下创建 index.html 文件,引入前面创建的前端页面: ```html <!DOCTYPE html> <html> <head> <title>My Site</title> <link rel="stylesheet" href="/static/css/app.css"> <script src="/static/js/app.js"></script> </head> <body> <div id="app"> <server-list /> </div> </body> </html> ``` 其中 /static/css/app.css 和 /static/js/app.js 是 vbenadmin 编译后的静态文件,<server-list /> 是前面创建的前端页面组件。 在 myproject/urls.py 文件中配置路由: ```python from django.urls import path, include from django.views.generic import TemplateView urlpatterns = [ path('admin/', include('vben_admin.urls')), path('', TemplateView.as_view(template_name='index.html')), ] ``` 其中 /admin/ 是 vbenadmin 的路由,'' 是首页路由,使用 TemplateView.as_view(template_name='index.html') 渲染 index.html 文件。 现在可以通过浏览器访问 http://127.0.0.1:8000/ 查看自动化平台了。 以上是使用 Django 和 vbenadmin 搭建自动化平台的基本步骤,根据实际需求可以进行进一步的开发和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值