用pycharm创建一个django框架

注意解释器的选择和文件路径

创建完django项目

1.自动创建了一个templates目录(先删除)

2.把settings里的

TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [BASE_DIR / 'templates']
,
'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',
],
},
},
]

改成

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',
],
},
},
]

即取消默认的templates文件夹

默认项目文件夹

settings.py【项目配置】

urls.py【url和函数的对应关系】

asgi.py【接收网络请求(不要动的)】

wsgi.py【接收网络请求(不要动的)】

创建app

找到manage.py文件目录

调用python startapp+app名称

python manage.py startapp cnnDjango

完成!

C:\Users\HP\.conda\envs\pytorch-gpu\python.exe "D:\pycharm\PyCharm 2022.1.3\plugins\python\helpers\pycharm\django_manage.py" startapp cnnDjango E:/pyzixue/cnn_django
Tracking file by folder pattern: migrations Following files were affected
E:\pyzixue\cnn_django\cnnDjango\migrations\__init__.py
进程已结束,退出代码0

现在总体文件是这样

卷 game 的文件夹 PATH 列表
卷序列号为 B0AB-9373
E:.
├─.idea
│ └─inspectionProfiles
├─cnnDjango
│ └─migrations
└─cnn_django

models.py【对数据库操作】

views.py【函数】

快速上手

确保app已经注册【settings.py]

1、找到apps.py 找到

class CnndjangoConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = 'cnnDjango'

2、返回settings.py找到已经安装的app加进去

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]

加入进去后

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'cnnDjango.apps.CnndjangoConfig',
]

编写url和视图函数对应关系【urls.py】

先将views导入完成

不用默认的admin

修改成

from cnnDjango import views
urlpatterns = [
#path('admin/', admin.site.urls),
#www.xxx.com/index/ -> 函数
path('index/', views.index),
]

编写视图函数【views.py】

在views.py中定义index函数

from django.shortcuts import render,HttpResponse

def index(request):
return HttpResponse('欢迎使用!')

启动django项目

命令行启动

python manage.py runserver

pycharm启动

右上角启动运行

成功之后可以访问

http://127.0.0.1:8000/index/

设置模板文件夹

在app文件夹下面创建templates文件夹

在templates创建html文件夹即可在【views.py】中使用函数跳转

# 会去app目录下的templates目录寻找xxx.html文件
# 根据app注册的顺序,逐一查找
return render(request,"XXX.html")

创建静态文件夹

在app目录下创建一个static文件夹

在html中可以这样读取static文件内容

{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<img src="{% static 'img/1.png' %}" alt="">
</body>
</html>

这么写的优势是如果想改变整个static文件目录

可以去【settings.py】中改变一下代码文件

# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/3.2/howto/static-files/ STATIC_URL = '/static/'

改变static即可改变所有静态文件目录

django的模板语法

在【views.py】中

return render(request,'xxx,html',dict)

意为往xxx.html传入一个字典

在html生成中可以调用dict的内容

{% for item in dict%}
<li>{{ item.xxx }}</li>
{% endfor %}

连接mysql模块

不需要Mysql数据库 + pymysql

使用django内置的orm框架

先安装模块

pip install mysqlclient

但是注意它无法创建数据库,所以数据库得我们自己创建

1.先进入msql

show databases

2.创建数据库

CREATE database 数据库名字 DEFAULT CHARSET utf8 COLLATE uft8_general_ci;

3.django连接数据库

在【settings.py】找到

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}

修改成

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME':'dbname',
'USER': 'root',
'PASSWORD': '123456',
'HOST': '127.0.0.1',
'PORT': 3306,
}
}

django创建表

在【models.py】文件中操作表

定义类

from django.db import models

# Create your models here.
class UserInfo(models.Model):
name = models.CharField(max_length=32)
pwd = models.CharField(max_length=64)
age = models.IntegerField()

写好之后在【manage.py】目录文件

python manage.py makemigrations
python manage.py migrate

执行这两个命令即可更新mysql

前提:你的app已经注册!

在项目同名的【init.py】文件中加入

import pymysql
pymysql.install_as_MySQLdb()

表的增删改查

在【views.py】文件中

from app01.models import UserInfo
def orm(request):
#测试ORM操作表中的数据
UserInfo.objects.create(name = 'xxxx')
#删除
UserInfo.objects.filter(id=3).delete()
#获取数据
data_list = UserInfo.objects.all()
for obj in data_list:
print(obj.od,obj.name)
#获取第一行
UserInfo.objects.filter(id=3).first()
#更新数据
UserInfo.objects.all().update(age = 18)
UserInfo.objects.filter(id=2).update(age = 18)
return HttpResponse("成功")

用pycharm创建一个django框架的更多相关文章

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

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

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

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

  3. Pycharm创建一个Django项目

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

  4. Django(博客系统):基于pycharm如何一个django工程下创建多个app

    背景:通常我们创建一个django系统时,为了把业务模块划分清楚往往会把一个独立的业务模块放到一个app中,如果多个独立的业务模块就会创建多个app,一般情况下为了更好的管理这些app,会把他们都存放 ...

  5. 创建一个Django项目

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

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

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

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

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

  8. django学习笔记【001】django版本的确定&创建一个django工程

    2.3 查看当前的django版本 python3. -m django --version 2.3.1 创建一个django工程 django-admin startproject mysite 在 ...

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

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

  10. 如何创建一个Django项目

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

随机推荐

  1. 玩转 PI 系列-看起来像服务器的 ARM 开发板矩阵-Firefly Cluster Server

    前言 基于我个人的工作内容和兴趣,想要在家里搞一套服务器集群,用于容器/K8s 等方案的测试验证. 考虑过使用二手服务器,比如 Dell R730, 还搞了一套配置清单,如下: Dell R730 3 ...

  2. AI绘画StableDiffusion:云端在线版免费使用笔记分享-Kaggle版

    玩AI绘画(SD),自己电脑配置不够?今天给大家介绍一下如何baipiao在线版AI绘画StableDiffusion. Kaggle 是世界上最大的数据科学社区,拥有强大的工具和资源,可帮助您实现数 ...

  3. 谈谈JSF业务线程池的大小配置

    1.简介 JSF业务线程池使用JDK的线程池技术,缺省情况下采用Cached模式(核心线程数20,最大线程数200).此外,还提供了Fixed固定线程大小的模式,两种模式均可设置请求队列大小. 本文旨 ...

  4. 面霸的自我修养:ThreadLocal专题

    王有志,一个分享硬核Java技术的互金摸鱼侠 加入Java人的提桶跑路群:共同富裕的Java人 今天是<面霸的自我修养>第5篇文章,我们一起来看看面试中会问到哪些关于ThreadLocal ...

  5. 小知识:将普通用户加入到docker组

    新的OCI实例,OS选择的是OEL7.9,初始环境是没有安装docker的,我们可以直接使用yum安装,之后启动docker服务: [opc@oci-001 ~]$ sudo yum install ...

  6. 「sdoi2019 - D2T2」移动金币

    对 @command_block 没有 implementation 做法的细化.理论来说可以通过,但因为我实现得较劣无法通过.:( 把金币中的空隙看作石子,就是一个阶梯 Nim 的模型(有总共 \( ...

  7. redis基本数据类型 Hash

    Hash 类型 Hash类型的常见命令 HSET key field value: 添加或者修改hash类型key的field的值HGET key field: 获取一个hash类型key的field ...

  8. Vue-进阶:路由及elementUI组合开发

    Vue-router路由 什么是vue-router? 服务端路由指的是服务器根据用户访问的 URL 路径返回不同的响应结果.当我们在一个传统的服务端渲染的 web 应用中点击一个链接时,浏览器会从服 ...

  9. ASP.NET 6启动时自动创建MongoDB索引

    大家好,我是Edison. 最近,在使用MongoDB时,碰到这样的一个需求:针对某个Collection手动在开发环境创建了索引,但在测试环境和生产环境不想再手动操作了,于是就想着通过代码的方式在A ...

  10. Redis——Redis面试题

    文章目录 概述 什么是Redis Redis有哪些优缺点 为什么要用 Redis /为什么要用缓存 为什么要用 Redis 而不用 map/guava 做缓存? Redis为什么这么快 数据类型 Re ...