小白神器 - Django - 起步

一.  Django下载

  1. 命令行

pip install django==1.11.16
pip install django==1.11.16 -i https://pypi.doubanio.com/simple/
#指定地址之后下载速度更快

  2.Pycharm

#使用 pycharm 下载 可以使用pip 下载同上,  也可以使用以下界面操作
sttings -> 解释器 -> 点+号 -> 输入Django -> 选择版本 -> 下载

二. 创建项目

  1. 命令行

django-admin startproject 项目名

  2.Pycharm

file -> new project -> 选择Django -> 输入项目名称 -> 选择解释器 -> 输入APP名称 -> 创建项目

三. 启动项目

  1. 命令行

  切换到项目的根目录下 manage.py

python manage.py runserver #127.0.0.1:8000
python manage.py runserver  8000  # 127.0.01
python manage.py runserver   0.0.0.0:80  # 0.0.0.0:8000

  2. pycharm

修改配置
点三角启动 dj

四. 配置文件(settings)

  1.静态文件

    STATIC_URL = '/static/'    #别名STATICFILES_DIRS = [os.path.join(BASE_DIR,'static'
]

  2.模板

TEMPLARTES
DIRS [os.path.join(BASE_DIR, 'tempiates)]

  3. 中间件

注释掉 'django.middleware.csrf.CsrfViewMiddleware'

  4. APP

    4-1 创建APP

      命令行

python manage.py  startapp app名称

      pycharm

tools -> run manage.py task   -> startapp app名称也可以在创建项目时创建

    4-2 注册APP

# setting.py
INSTALLED_APPS = ['app01' 或者 'app01.apps.App01Config',    ]

  5. form表单  

1. action = ''   method ='post'    action 提交的地址  method 请求方式
2. 所有的input标签要有name属性
3. 一个input标签的type='submit'  或者  button

五. Django 使用mysql 数据库的流程

  1. 创建一个mysql 数据库

  2. 在setting中配置DATABASES

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

  3. 告诉Django使用pymysql连接数据库

    在settings统计目录下的__init__.py写代码:

import pymysql
pymysql.install_as_MYSQLdb()

    写表 在app下的mode.py中写类(继承models.Model)

class User(models.Model):   # 默认表名  app01_username = models.CharField(max_length=32)   # varchar(32)pwd = models.CharField(max_length=32)def __str__(self):return self.name

  4. 数据库迁移

python manage.py makemigrations    #记录models的变更记录
python manage.py migrate    #把变更记录的操作同步到数据库中

六. pycharm 操作数据库

Django相关文件总结:

此文件夹主要用于创建 HTML文件
HTML文件用于前端页面的展示
HTMl 文件名与 url.py app下views类名有关

templates文件夹

自行创建的文件夹,
用于存放 HTML 相关的 css js 文件 及相关库

static 文件夹

INSTALLED_APPS = ['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','app_pub.apps.AppPubConfig',    #激活app操作
]MIDDLEWARE = ['django.middleware.security.SecurityMiddleware','django.contrib.sessions.middleware.SessionMiddleware','django.middleware.common.CommonMiddleware',# 'django.middleware.csrf.CsrfViewMiddleware',    #注释掉'django.contrib.auth.middleware.AuthenticationMiddleware','django.contrib.messages.middleware.MessageMiddleware','django.middleware.clickjacking.XFrameOptionsMiddleware',
]DATABASES = { #数据库连接配置操作'default': {'ENGINE': 'django.db.backends.mysql','NAME': 'publisher','HOST': '127.0.0.1','PORT': 3306,'USER': 'root','PASSWORD': 456}
}STATIC_URL = '/static/'       #配置静态文件
STATICFILES_DIRS = [    os.path.join(BASE_DIR,'static'),
]

sttings.py

from django.conf.urls import url
from django.contrib import admin
from app_pub import viewsurlpatterns = [url(r'^admin/', admin.site.urls),url(r'^index/', views.index),1、单一路由对应url(r'^index$', views.index),2、基于正则的路由url(r'^index/(\d*)', views.index),
url(r'^manage/(?P<name>\w*)/(?P<id>\d*)', views.manage),3、添加额外的参数url(r'^manage/(?P<name>\w*)', views.manage,{'id':333}),4、为路由映射设置名称url(r'^home', views.home, name='h1'),
url(r'^index/(\d*)', views.index, name='h2'),设置名称之后,可以在不同的地方调用,如:
•模板中使用生成URL     {% url 'h2' 2012 %}
•函数中使用生成URL     reverse('h2', args=(2012,))      路径:django.urls.reverse
•Model中使用获取URL  自定义get_absolute_url() 方法5、根据app对路由规则进行分类url(r'^web/',include('web.urls')),6、命名空间a. project.urls.pyfrom django.conf.urls import url,includeurlpatterns = [url(r'^a/', include('app01.urls', namespace='author-polls')),url(r'^b/', include('app01.urls', namespace='publisher-polls')),
]b. app01.urls.pyfrom django.conf.urls import url
from app01 import viewsapp_name = 'app01'
urlpatterns = [url(r'^(?P<pk>\d+)/$', views.detail, name='detail')
]c. app01.views.pydef detail(request, pk):print(request.resolver_match)return HttpResponse(pk)以上定义带命名空间的url之后,使用name生成URL时候,应该如下:
•v = reverse('app01:detail', kwargs={'pk':11})
•{% url 'app01:detail' pk=12 pp=99 %}django中的路由系统和其他语言的框架有所不同,在django中每一个请求的url都要有一条路由映射,这样才能将请求交给对一个的view中的函数去处理。其他大部分的Web框架则是对一类的url请求做一条路由映射,从而是路由系统变得简洁。

urls.py

import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "day28.settings")
application = get_wsgi_application()WSGI理解为你写的【python代码块】和【Web服务器接口】 的配置文件。

wsgi.py

# 由于Django内部连接MySQL时使用的是MySQLdb模块,而python3中还无此模块,所以需要使用pymysql来代替
# 如下设置放置的与project同名的配置的 __init__.py文件中import pymysql
pymysql.install_as_MySQLdb() 

__init__.py(settings同级)

from django.db import models# Create your models here.
class Publisher(models.Model):pid = models.AutoField(primary_key=True) #主键name = models.CharField(max_length=32, unique=True) #出版社名称
主要用于数据库创建表

app 下 models.py

from django.shortcuts import render, redirect, HttpResponse
from app_pub import models# 从数据库获取所有出版社对象
def index(request):all_publisher = models.Publisher.objects.all().order_by('pid')return render(request, 'index.html', {'all_publisher': all_publisher})写函数, 连接HTML与 urls.py

app 下views.py


  持续更新待续...

  

转载于:https://www.cnblogs.com/konghui/p/10050057.html

小白神器 - Django - 起步相关推荐

  1. 小白学Django第九天| Cookie和session的那些骚操作

    点击上方"JAVAandPython君",选择"星标"公众号 重磅干货,第一时间送达 小白学Django系列: 小白学Django第一天| MVC.MVT以及D ...

  2. 小白学Django第十天| 模板的知识全部给你总结好了!

    点击上方"JAVAandPython君",选择"星标"公众号 重磅干货,第一时间送达 小白学Django系列: 小白学Django第一天| MVC.MVT以及D ...

  3. 小白神器 - 一篇博客学会HTML

    小白神器 - 一篇博客学会HTML 一. 简介 1. HTML 定义 htyper text markup language  即超文本标记语言. 超文本: 就是指页面内可以包含图片.链接,甚至音乐. ...

  4. 小白深度学习起步中——读取人像图像

    人脸图像读取 首先,先调用三个库 import numpy as npimport cv2import zipfile 然后确定一下主程序,搞清楚我们这个程序的目的.是为了从解压解压上读取图像. if ...

  5. git安装以及使用教程(小白神器)!!!

    转自 https://blog.csdn.net/weixin_44950987/article/details/102619708 git 提交 全部文件 1.git add . git add x ...

  6. 微软出Django教程啦!

    周围很多小伙伴都在学Python.Python功能强大,语法简单,可以干很多事情.比如自动化测试,运维,机器学习,数据分析,金融股票量化分析,其实很多小公司或者大厂的运维部门都用Python做Web后 ...

  7. django admin使用在前端_Django| 给你博客装个Markdown编辑器

    小白学Django系列: 小白学Django第一天| MVC.MVT以及Django的那些事 小白学Django第二天| Django原来是这么玩的! 小白学Django第三天| 一文带你快速理解模型 ...

  8. 人工智能工具推荐:采集图片神器——后羿采集器

    我们在做人工智能图像识别的时候需要大量的图片,这些图片一部分是自己拍,更大一部分是从网上爬取各种图片. 但是爬取图片的工具一般都是爬取百度.谷歌.必应等网站. 百度经常会推出反爬机制,谷歌没有梯子根本 ...

  9. 手把手教你在centos上配置Django项目(超详细步骤)

    点击上方"JAVAandPython君",选择"星标"公众号 重磅干货,第一时间送达 小白学Django系列: 小白学Django第一天| MVC.MVT以及D ...

  10. 微软开源的这个自动化测试神器,我知道的太晚了

    2020 年初,微软发布了一个自动化测试工具--Playwright,不少人称它是小白神器. Playwright是针对Python语言的纯自动化工具,它可以通过单个API自动执行Chromium,F ...

最新文章

  1. 转型AI成功几率有几分?太真实了......
  2. 在 Linux 终端调整图像的大小
  3. SAP 序列号里'主批次'与'库存批次'不同,如何修改?
  4. Java7中的switch支持String的实现细节
  5. 全球及中国碳交易行业十四五发展展望与建设趋势研究报告2022-2027年
  6. muse ui tabs背景颜色字体颜色
  7. Data Augmentation
  8. 微服务 Docker和DevOps
  9. 卸载chrome_Chrome 浏览器必备“扩展管理工具”,一键管理 Chrome 扩展
  10. 使用腾讯云发送短信API接口实现(完整流程)
  11. .net性能测试和优化1 基本概念
  12. 【博客园2018总结帖】21天,在Github上获取 6300 star
  13. Problem A: 删除区间内的元素(线性表)
  14. spark-1.2.0 集群环境搭建
  15. 用枚举法实现单例设计模型
  16. 云开发—扫码点餐系统实战
  17. 雷电模拟器忘记锁屏密码
  18. 计算机专业如何晋级正高级,已有软考高级证书如何获得正高级职称?
  19. linux图片格式转换工具,在Linux系统上安装和使用Converseen批量图像转换器的方法...
  20. pyecharts-page的组合

热门文章

  1. oracle数据投毒,Oracle Database Server TNS Listener远程数据投毒漏洞(CVE-2012-1675)的完美解决方法...
  2. 课后习题7.11 医院内科有A,B,C,D,E,F,G共7位医生,每人在一周内要值一次夜班,排班的要求是: (1)A医生值班日比C医生晚1天; (2)D医生值班日比E医生晚2天; (3)B医生值班日比
  3. linux虚拟机对外部sd卡格式化和分区
  4. 360漏洞修复网管版小软件不错
  5. 学习逆向某风控id分析
  6. 华为最终面试java_最全的华为面试题-java学习
  7. pycharm没有python interpreter_pycharm无法设置interpreter?
  8. 网吧服务器系统机房图片,很多网吧看不到主机的秘密
  9. Intellij IDEA与Eclipse对比
  10. 计算机组成原理 课程设计报告