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. HAL库与Cubemx系列|Systick-系统滴答定时器详解

    Systick是什么? 关于Systick,在Context-M3权威指南中如此描述: SysTick定时器被捆绑在NVIC中,用于产生SYSTICK异常(异常号: 15).在以前,大多操作系统需要一 ...

  2. MongoDB学习笔记01:入门

    MongoDB简介 MongoDB是一个开源.高性能.无模式的文档型数据库,当初的设计就是用于简化开发和方便扩展,是NoSQL数据库产品中的一种.是最 像关系型数据库(MySQL)的非关系型数据库. ...

  3. mybatis——解决属性名和数据库字段名不一致问题(注解方式)

    当我们使用注解开发时有时会遇到数据库字段名与实体类属性名不一致的问题.xml方式开发可以通过结果集映射的方式解决,那注解方式开发要怎么解决呢? 注解解决方式: @Results()注解 Results ...

  4. 导出 Excel 模板自动生成规则,避免用户来回修改

    一句话总结 Excel 导出.导入时,根据注解自动添加单元格验证规则,避免用户因填写错误的枚举字段而反复修改 Excel 需求背景 对于 Java Web 项目,总是不可避免的出现 Excel 导入. ...

  5. 性能报告之HTML5 性能测试报告

    1. 引言 1.1. 编写目的 HTML5 作为当前"最火"的跨平台.跨终端(硬件)开发语言,越来越受到前端开发者 的重视,无论是 PC 端还是当前"火热"的移 ...

  6. 重新整理 .net core 实践篇—————文件系统[二十二]

    前言 简单介绍一下文件系统. 正文 文件系统,主要是下面3个接口组成: IFileProvider IFileInfo IDirectoryContents 那么他们的实现是: physicalFil ...

  7. 【题解】poj 3162 Walking Race 树形dp

    题目描述 Walking RaceTime Limit: 10000MS Memory Limit: 131072KTotal Submissions: 4941 Accepted: 1252Case ...

  8. Activity侧滑返回的实现原理

    简介 使用侧滑Activity返回很常见,例如微信就用到了.那么它是怎么实现的呢.本文带你剖析一下实现原理.我在github上找了一个star有2.6k的开源,我们分析他是怎么实现的 //star 2 ...

  9. 【CSAPP】以CTFer的方式打开BufferLab

    [WARNING] 本文是对CSAPP附带的Buffer Lab的究极指北,PWN小白趁机来练习使用pwntools和gdb && 用老朋友IDA查看程序逻辑(可以说是抄小路了x. L ...

  10. ubuntu开机卡在/dev/sda* clean

    问题描述: ①Ubuntu通过再生龙从一台笔记本还原到另外一台笔记本(硬盘到硬盘),开机后卡在自检界面: ②备份前的笔记本为17年发布的笔记本,还原后的笔记本为2020款发布的笔记本 从网上搜了一大篇 ...