首页 > 其他分享 >《DjangoApp开发》第二集,创建项目骨架、主菜单页面及跳转

《DjangoApp开发》第二集,创建项目骨架、主菜单页面及跳转

时间:2023-10-03 15:11:25浏览次数:41  
标签:index DjangoApp 文件 创建 js game urls 跳转 第二集

2023年10月3日

这节课做的事情

  1. 创建项目目录
  2. 对项目进行全局时间、配置
  3. 创建项目骨架,配置一堆文件
  4. 写主页面
  5. 切换页面

项目结构。当我们发现代码很长的时候就分成多个子目录

菜单界面

对战界面

  • 玩家
    • 玩家的技能
      • 玩家的每一个技能
    • 玩家的移动
  • 背景
  • 时间

设置界面

这节课新学的Linux常识

  • 创建文件夹
mkdir templates
  • 删除文件
rm urls.py
  • 创建文件
touch __init__.py
  • 下载网络文件
wget --output-document=自定义图片名称 图片地址
  • 查看路径
pwd
  • 加可执行权限
chmod +x 文件名

django代码指令、常识

这节课的细节!

一、创建项目目录

创建templates

我们创建一般都是在 acapp/game/ 的路径下进行创建,其他的都不用怎么管的
创建templates一般是存储我们的html文件

管理urls

因为我们的路由会很多,所以我们采用一个个的目录方式来实行。

这些都是python文件

  • 删掉game下的urls.py、同理views.py、modles.py也删掉就好了
  • 创建urls文件加处理路由和函数关系
  • 创建views,被称为试图一般是实现函数
  • 创建models, models一般用来管理我们的数据库内容
初始化文件。urls、views、models都要创建

创建init文件

touch __init__.py

创建static这个和html差不多

  • css文件
  • js存储对象逻辑。同时还会负责对象的创建和销毁
  • img 图片
  • audio 声音

conumers 用来管理双向的逻辑

二、对项目进行全局配置

1. 改标准时间

去全局配置文件下 acapp/acapp 下设置时区
1.png

2. 加上一个game下的config 也是在settings中

2.png

3. 然后再设置static

3.png

三、定好骨架创建项目结构

1.我们首先进入static文件下,去创建我们的css, js , image文件夹

在每一个文件夹下我们都需要有,meun playground settings文件夹每个都归好类!
什么里面该放什么我们就放什么不然全乱了。

2. 然后我们试着在menu里面搞一个图片

如何下载呢?
我们又来学一个Linux命令

wget --output-document=自定义图片名称 图片地址

4.png

3. 然后我们去css文件夹下搞一个game.css

y总说多年经验,css文件不需要分哈哈哈

4. 我们的项目一个js文件会有很多个

我们一般搞两个文件夹

  • dist
  • src

dist是最终使用的js文件
src中存储js源文件
我们现在来写一个shell文件来实现合并src中的所有jsdist

pwd 可以查看路径

代码

 #! /bin/bash
   
   JS_PATH=/home/acs/acapp/game/static/js/
   JS_PATH_DIST=${JS_PATH}dist/
   JS_PATH_SRC=${JS_PATH}src/
   
   find $JS_PATH_SRC -type f -name '*.js' | sort | xargs cat > ${JS_PATH_DIST}game.js

然后加可执行权限

chmod +x 文件名

不出意外在js/dist下就会多一个文件

三、写主页

1. 基本的html

路径是:

/home/jason/project/game/templates/multiends
{% load static %}
<head>
    <link rel="stylesheet" href="https://cdn.acwing.com/static/jquery-ui-dist/jquery-ui.min.css">
    <script src="https://cdn.acwing.com/static/jquery/js/jquery-3.3.1.min.js"></script>
    <link rel="stylesheet" href="{% static 'css/game.css' %}">
    <link rel="icon" href="https://cdn.acwing.com/media/article/image/2021/12/17/1_be4c11ce5f-acapp.png">
</head>

<body style="margin: 0">
    <div id="ac_game_12345678"></div>
    <script type="module">
        import { AcGame } from "{% static 'js/dist/game.js' %}"
        $(document).ready(function(){
            let ac_game = new AcGame("ac_game_12345678");
        });
    </script>
</body>

2.对应的js

class AcGame{
    
    constructor(id)
    {
        
    }
    
}
}

写好以后我们的之后的所有html都会在js里面写。每次更新js都需要进行./compress_game_js.sh

3. 写views

因为文件很多也需要创建menu。。。。。。
每一个python文件都需要__init__.py,然后在view文件夹下,写一个index


from jango.shortcuts import render

def index(request):
    return render(request, "multiends/web.html")

4. 写urls

因为文件很多也需要创建menu。。。。。。
每一个python文件夹都需要__init__.py,然后在urls文件夹下,写一个index.
并且,我们也需要创建每个文件夹下的初始index.py

from django.urls import path

urlpatterns = [

]

然后是urls文件夹下的index

from django.urls import path, include
from game.views.index import index

urlpatterns = [
    path("", index, name="index"),
    path("menu/", include("game.urls.menu.index")),
    path("playground/", include("game.urls.playground.index")),
    path("settings/", include("game.urls.settings.index")),
]

最后是全局的urls

from django.contrib import admin
from django.urls import path, include

urlpatthers = [
    path('', include('game.urls.index')),
    path('admin/', admin.site.urls),
]

自此,终于把所有的基本配置完成了!

四、开始写页面

我们这里就都是使用js进行实现了。
每一个结构都是一个class
踩坑了,de了20分。。。放个图
QQ截图20231003135944.png

五、切换页面

QQ截图20231003145631.png
33.png

标签:index,DjangoApp,文件,创建,js,game,urls,跳转,第二集
From: https://www.cnblogs.com/wxzcch/p/17741150.html

相关文章

  • 《DjangoApp开发》第一集——配置环境及项目创建
    2023年10月2日前言今天中午、下午都出去了。晚上回来看看。上午实现了本地局域网的Linux配置。里面的Django学习内容全来自,Acwing的Django工程课。目录——实现内容Ubuntu本地局域网配置ssh配置Docker配置Acwing的镜像、用户创建项目、预览项目设置vim无法写入中文解决......
  • uni-app中提供的五种形式的页面跳转
    面试题:uni-app中提供的五种形式的页面跳转:①导航跳转/保留跳转——在访问历史栈中保存当前页面,再打开下一个页面<navigatoropen-type="navigate"url="">②导航返回——返回访问历史栈中的上一个页面<navigatoropen-type="navigateBack">③重定向跳转/销毁跳转——不......
  • ARM汇编 --- 跳转指令 B、BL、BX、BLX的区别
    ARM的跳转指令介绍跳转指令用于实现程序流程的跳转,在ARM程序中有两种方法可以实现程序流程的跳转:(1)使用专门的跳转指令。(2)直接向程序计数器 PC写入跳转地址值。通过向程序计数器PC写入跳转地址值,可以实现在4GB的地址空间中的任意跳转,在跳转之前结合使用 MOVLR......
  • idea 中的@value 无法跳转到配置的值
    当你在使用idea开发spring项目时,如果你使用的是现在流行的maven项目,我才如果使用gradle的也类似。那么我们在配置文件中配置的值,可以通过spring的@Value这个注解获取到值,也就是你能在项目使用@Value的地方,入下图,这里应该会显示个正常的值这里没用正常显示,我觉得我......
  • 记录--a标签跳转新地址无法访问,但手动输入新地址可以访问
    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助问题描述最近遇到一个有意思的问题,项目中有一个地方,点击需要跳转到一个新的域名地址笔者使用a标签做跳转,跳是跳过去了,可是跳过去以后,反而打不开了,显示403佛伯乐蛤?大致这样的代码:<ahref="http://abcdefg.com......
  • 路由跳转需要带参
    表格数据分页,分页数据刷新数据不丢失分页时跳转router.push({name:route.name,params:{page:currentPage.value},query:{search:search.value},});其中route.name代表跳转的路径别名params代表路由跳转所带的参数,需要在路由中配置{path......
  • 解决keil有定义却无法跳转的情况
    现象有#include,gotodefine出现以下情况:多个完全一样的Name。原因本质是多个定义域内#include,编译器无法确定跳转到哪个作用域。问题所在在函数内使用#includevoid_test(void){#include"hal_uart.h"#include"string.h"解决方法将函数内的#include移......
  • 【HarmonyOS】解决API6 WebView跳转外部浏览器问题、本地模拟器启动黑屏
    ​【问题描述1】HarmonyOSAPI6Java开发中使用WebView组件,如果网页中有跳转链接,点击会跳转到手机系统浏览器。 【解决方案】解决这个问题的方法就是给WebView这种自定义的WebAgent对象。具体代码如下:WebConfigwebConfig=this.webView.getWebConfig();this.webView.setWe......
  • 页面切换到后台,再切回时跳转页面
    document.addEventListener('visibilitychange',function(){letpageVisibility=document.visibilityState;//页面变为不可见时触发if(pageVisibility=='hidden'){console.log("离开时间点:"+newDat......
  • vue_vueRouter同组件跳转失败
    目录场景再现资料查询解决场景再现现有一个Article页面,通过/article/:id来匹配不同的文章页面,当我需要实现跳转到上一篇或下一篇时,即从/article/:id跳转另一个/article/:id时,发现浏览器中只有地址变化了,但是页面的很多组件,包括文章内容都没有刷新,资料查询这......