1 环境搭建及创建

1) 安装Django

方法一:pip install django

方法二:Pycharm File——settings——Project——Python Interpreter——Python3.9 添加Django安装,设置django的环境变量

3)创建Django项目

命令行至指定目录下,django-admin startproject djangotest

4)启动django 项目

python manage.py runserver

5)创建一个App

django-admin startapp webtest

6)关闭django

ctrl+C

2 数据库连接

1)定义模型:在app中的 models.py 中创建class(一个class对应一张表);

from django.db import models

# Create your models here.

class Topic(models.Model):

    """用户学习的主题"""

    text=models.CharField(max_length=200) #指明字符数据类型,长度200

    date_added=models.DateTimeField(auto_now_add=True) # 创建新主题时,自动创建当前时间

    def __str__(self):

        return  self.text

class Entry(models.Model):

    """学到的有关某个主题的具体知识"""

    topic=models.ForeignKey(Topic,on_delete=models.CASCADE) # 外键 级联删除,即删除Topic时删除Entry

    text=models.TextField()

    date_added=models.DateTimeField(auto_now_add=True)

    class Meta:

        verbose_name_plural='entries'

    def __str__(self):

        return f"{self.text[:50]}..."

2)激活模型:在project下得seetings.py 中的INSTALLED_APPS 中添加app名称 (要将自己app名称放在默认前,这样能覆盖默认应用程序行为)

3)连接自带sqlite数据库

  • 命令行cd 至包含manage.py路径下【每次修改数据后 都需要执行下面两步迁移模型】
  • 生成数据库迁移文件:python manage.py makemigrations appname
  • 迁移修改数据库:python manage.py migrate
  • 使用Django的模型管理网站 维护数据
    • o 创建超级用户

python manage.py createsuperuser

  • 向管理网站注册模型 app路径下 admin.py
# Register your models here.

from .models import Topic #Topic为models中创建的class名

admin.site.register(Topic) #让Django通过管理网站管理模型

admin.site.register(Entry)
  • 管理网站管理 维护用户、用户组以及model

启动网站,访问/admin/

  • 命令行维护数据库

    • o python manage.py shell
from appname.models import classname

classname.objects.all()    #查询该表所有实例
  • 遍历
topics=Topic.objects.all()

for  topic in topics:

print(topic.id,topic)
  • 查询
t=Topic.objects.get(id=1)

t.text
  • 退出
exit()

3 配置路由和页面

1) 映射URL

  • 在project路径urls.py引入from django.urls import path,include,然后再urlpatterns中添加:

path('',include('webtest.urls'))

  • 在app路径下创建urls.py 添加以下代码
"""定义webtest的URL模式"""

from django.urls import path

from . import views

# app_name='webtest' # 区别其他app同名文件,这里有一个问题就是在users中必须存在,在webtest中必须注释掉

urlpatterns=[

    # 主页

    path('',views.index,name='index') #第一参数 路由;第二个参数 views.py中对应函数;第三个参数 指定名称

]

2)搭建view(也就是MVC中的controller)

from django.shortcuts import render # 根据视图提供的数据渲染响应

# Create your views here.

def index(request): # 网站请求查找路由到index,然后将request传递给函数

    """"学习笔记主页"""

    return render(request,''index.html')

3)在app路径下创建templates创建index.html

4 Django响应的前后端交互

    • 就是通过{%  %}代码块展示后端数据,具体看 djangotest 项目代码
    • Django中的前后端交互式后台强制解析,然后主要就是登录检测,django.contrib.auth.urls需要在users的urls.py views.py(@ =login_required) 以及在settings.py设置被登录拦截找首页(LOGIN_URL='users:login') # users:login是url配置的路由路径

5 设置应用程序样式

    • 安装django-bootstrap4

pip install django-bootstrap4

  • 项目引用

settings.py 的INSTALLED_APPS 中 添加 'bootstrap4',

  • 在html中直接加class,在head中加入
{% load bootstrap4 %}

{% bootstrap_css %}

 {% bootstrap_javascript jquery='full' %}
  • 表单页 代码如下
{% block content %}

    {% if form.errors %}

      <p>Your username and password didn't match.Please try again.</p>

    {% endif %}

    {% block page_header %}

    <h2>Log in to your account.</h2>

    {% endblock page_header %}

    <form method="post" action="{% url 'users:login' %}" class="form">

        {% csrf_token %}

        {% bootstrap_form form %}

        {% buttons %}

            <button name="submit" class="btn btn-primary">Log in</button>

        {% endbuttons %}

        <input type="hidden" name="next" value="{% url 'index' %}" />

    </form>

  {% endblock content %}
  • 不加样式表单页 代码如下
  {% block content %}

    <p><a href="{% url 'index' %}">index</a></p>

    <p>Add a new topic:</p>

    <form action="{% url 'new_topic' %}" method="post">

      {% csrf_token %}

      {{ form.as_p }}

      <button name="submit">Add topic</button>

    </form>

  {% endblock content %}

6 Django+Mysql+Vue

    • 看到网上那么多教程,我相信Django+Mysql+Vue的过程应该不是那么难了吧

Python 创建一个Django项目的更多相关文章

  1. Django之真正创建一个django项目

    真正创建一个django项目 1 创建Django项目     :new-project 2 创建APP :  python manager.py startapp app01 3 setting 配 ...

  2. 创建一个Django项目

    创建一个django项目: 1. django-admin  startproject student_manage(项目名) 2. cd student_manage python manage.p ...

  3. Python-Django学习笔记(二)-创建一个Django项目与应用

    1.创建一个Django项目 打开cmd命令行,设置好工作目录(cd 目录路径),然后输入 django-admin startproject projectname #必须安装好Django才可以执 ...

  4. 如何创建一个Django项目

    Django 软件框架 软件框架是由其中的各个模块组成,每个模块负责特定的功能,模块与模块之间相互协作来完成软件开发. MVC简介 MVC框架的核心思想是:解耦,让不同的代码块之间降低耦合,增强代码的 ...

  5. 创建一个Django项目的基本步骤

    创建一个Django 的常规步骤 1.寻找一个磁盘目录,比如 e: 2.django-admin startproject ops 3.cd ops 4.python manage.py starta ...

  6. 初学者用pycharm创建一个django项目和一个app时需要注意的事项

    如何新建一个djiango项目: 1.在pycharm中点击File,选择new project,点击djiango,在右面的Location中将untitile改为你的项目名,其余部分注意见下图: ...

  7. 使用Pycharm创建一个Django项目

    在使用python写脚本一段时间后,想尝试使用Django来编写一个python项目,现做以下记录备忘: 1.创建项目 如果本地没有安装与所选python版本对应Django版本,pycharm会自动 ...

  8. 创建一个 Django 项目

    一. 创建项目 其中: 确认项目是否创建成功: 在 manage.py 目录上运行 python manage.py runserver server 启动后,在浏览器访问 http://127.0. ...

  9. Pycharm创建一个Django项目

    1.创建项目 如果本地没有安装与所选python版本对应Django版本,pycharm会自动下载相应的版本: 创建后运行项目,默认页面为http://127.0.0.1:8000/,打开后: 出现上 ...

随机推荐

  1. cuDNN概述

    cuDNN概述 NVIDIACUDA深度神经网络库(cuDNN)是GPU加速的用于深度神经网络的原语库.cuDNN为标准例程提供了高度优化的实现,例如向前和向后卷积,池化,规范化和激活层. 全球的深度 ...

  2. Navicat Premium 15 安装包&激活工具及安装教程(亲测可用)

    Navicat Premium 15 安装包及激活工具 网盘地址: 链接:https://pan.baidu.com/s/1GU9qgdG1dRCw9Un8H9Ba9A提取码:F1r9 开始安装 下载 ...

  3. 13:Linux虚拟机网络连接异常

    这两个服务需要启动

  4. CLR里的MethodTable,MethodDescChunk,MethodDesc,FixUpPreCode都是什么意思

    一:看下面一些概念 1MethodTable MethodTable可以说在CLR里面无处不在,这个东西主要是作为对象的数据类型存在,主要包含了EEClass 模块地址,类型名称,模块路径等. 2.E ...

  5. 面试常问的Java虚拟机内存模型,看这篇就够了!

    一.虚拟机 同样的java代码在不同平台生成的机器码肯定是不一样的,因为不同的操作系统底层的硬件指令集是不同的. 同一个java代码在windows上生成的机器码可能是0101.......,在lin ...

  6. TypeScript 在开发应用中的实践总结

    背景 以前 hybrid app 的移动端开发模式下,H5 和客户端通信的 js sdk 代码使用 js 编写,sdk 方法的说明使用文档输出.对于开发的使用来说,在 IDE 中不能得到友好的参数类型 ...

  7. .NET Core/.NET5/.NET6 开源项目汇总7:电商项目

    系列目录     [已更新最新开发文章,点击查看详细] 谈起.NET/.NET Core的企业级实战案例,电商项目是典型代表.其中高负载.高并发.高可用性等问题是考核.NET技术性能的重要指标.下面整 ...

  8. Room-数据持久化存储(入门)

    @ 目录 一.简单使用 1.Entity 2.Dao 3.DataBase 4.使用 二.参数解析 1.Entity 2.Dao 3.查询方式 总结 # 前言 官方简介: Room 持久性库在 SQL ...

  9. c#创建windows服务(创建,安装,删除)

    一.在vs中创建一个window服务 二.进入Service1.cs页面后 右击----创建安装程序,安装程序创建成功后---会出现ProjectInstaller.cs文件 三.进入ProjectI ...

  10. jQuery筛选选择器

    <!DOCTYPE html><html><head>    <meta http-equiv="Content-type" conten ...