美文网首页
Play DjangGo

Play DjangGo

作者: Noza_ea8f | 来源:发表于2020-02-06 12:28 被阅读0次

框架怎么学?

如果要学好框架,最好还是从基础入手;
否则总是有不解的问题;
事实上我们通过python提供的soket、wsgi两个库完全可以构造自己的web框架;
当我们实现了自己的web框架之后,很容易就会明白别的框架为什么这么构造了;
建议先学习哔站的这个视频:
https://www.bilibili.com/video/av89018506?p=1
然后再入手DjangGo;
参考文档:
https://docs.djangoproject.com/zh-hans/2.1/topics/

用Pycharm创建一个Django工程

创建完成后,目录结构暂时不要动;
这个结构作为主项目;
如果要运行程序在终端输入

python manage.py runserver

即可

创建子项目

python manage.py startapp test_1

该代码创建了一个名为test_1的子项目;
这相当于项目差分;
不至于与主项目混淆;
创建好后的目录结构


image.png

修改配置

来到主项目下的settings.py文件下
在INSTALLED_APPS里注册新创建的项目


image.png

创建模板

  • 在子目录下创建模板目录


    image.png
  • 创建模板文件
<h1>hello world</h1>

创建视图函数

  • 在子目录下的views.py中写入
from django.shortcuts import render


# Create your views here.
def index(request):
    return render(request, 'index.html', {})

{}是用于传参的,目前为空

注册url

  • 在test_1项目下新建一个urls.py文件
    写入代码
from django.urls import path
from . import views
urlpatterns = [
    path('', views.index, name='index'),
]

注意“.”指的是当前目录
这里我们导入了views.py下的index函数;
指定name="index",这个什么意思?
它不是路由路径,因为输入时会报错的,见下图,


image.png

因为JIANJIA2模板可以通过路由对应的函数获取参数,如果路由名字改变,则所有模板中的变量都需要修改,为了避免麻烦,所以从这里起一个固定的名字,这样路由怎么办,都不会影响到模板了,当然这么说很抽象,以后遇到时再解决;

  • 打开主项目的urls.py
    导入include
from django.urls import path, include
  • 注册test_1项目的url
from django.contrib import admin
from django.urls import path, include


urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('test_1.urls')),
]

打开网页


image.png

创建通用模板

  • 在子项目下的templates下创建base.html
    写入
<!doctype html>
<html lang="en">
<head>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <!-- Bootstrap CSS -->
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.4.1/dist/css/bootstrap.min.css"
          integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">

    <title>Hello, world!</title>
</head>
<body>
{% block content %}
{% endblock %}

<!-- Optional JavaScript -->
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
<script src="https://cdn.jsdelivr.net/npm/jquery@3.4.1/dist/jquery.slim.min.js"
        integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n"
        crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js"
        integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo"
        crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.4.1/dist/js/bootstrap.min.js"
        integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6"
        crossorigin="anonymous"></script>
</body>
</html>

{% block content %}
{% endblock %}
是Jia2代码块

  • 在index.html中引用base.html模板
{% extends 'base.html' %}

{% block content %}
<h1>哈喽,世界</h1>
{% endblock %}
image.png

修改base.html样式

image.png

相关文章

  • Play DjangGo

    框架怎么学? 如果要学好框架,最好还是从基础入手;否则总是有不解的问题;事实上我们通过python提供的soket...

  • Play DjangGo 3

    模板 如果每个app都是单独的模板,那么模板就要存入app下的templates文件夹;让该文件夹下的文件都去继承...

  • Play DjangGo 2

    公有路由 作为一个项目;可能有多个app;所以,每个app作为该总项目的子项目,分别建立文件夹;当访问总项目网站时...

  • Play DjangGo 4 展示Excel表格

    怎么把一张Excel表格展示到网页中呢?就方法来说有很多种;可以先从Excel表格中取出数据;然后在网页中把相应位...

  • 20-Django之CBV、序列化、Form表单

    一、FBV & CBV CBV定义 Djanggo中的请求处理方式FBV: Function Bas...

  • play+play+play

    我还有18分钟的时间来完成本篇文章。 本文内容分为三部分:介绍本文标题的来由;夸自己5点,并注明原因;找一张有爱情...

  • linux python3 安装 Djanggo

    1、设置默认的python 版本为python3 错误解决图片.png 删除后再设置软链接 2、下载Djanggo...

  • 2019-04-23-play-with-firefox

    layout: defaulttitle: "Play With Firefox" Play With Firef...

  • 2019-04-18-play-with-debian

    layout: defaulttitle: "Play With Debian" Play With Debian...

  • docker安装部署djanggo和python

    这几天需要部署众家云官网自动化部署djanggo和python要命的事:这是写在自动化部署里面: 这里就安装好啦:...

网友评论

      本文标题:Play DjangGo

      本文链接:https://www.haomeiwen.com/subject/vqpyxhtx.html