Django安装步骤(pycharm)_endmoon的博客-程序员宝宝_pycharmdjango安装

Django安装步骤(pycharm)

1.创建Django项目

db没有显示红色x说明创建成功了

2.安装插件

界面左下角有一个Terminal,点开就是一个命令行控制台,可以输入命令

查看Django版本信息,可以看出pycharm创建Django安装的是2.1.1的版本

2.1.安装Django1.11.12版本

目前支持比较好的为1.11.12,所以可以安装1.11.12(安装过程中会自动卸载掉2.1.1版本)

2.2安装Pymysql插件

接下来安装pymysql驱动包(用于连接数据库)

(venv) D:\Django\db>pip install pymysql
Collecting pymysql
  Using cached https://files.pythonhosted.org/packages/a7/7d/682c4a7da195a678047c8f1c51bb7682aaedee1d
ca7547883c3993ca9282/PyMySQL-0.9.2-py2.py3-none-any.whl
Collecting cryptography (from pymysql)
  Using cached https://files.pythonhosted.org/packages/f1/01/a144ec664d3f9ae5837bd72c4d11bdd2d8d40331
8898e4092457e8af9272/cryptography-2.3.1-cp36-cp36m-win_amd64.whl
Collecting cffi!=1.11.3,>=1.7 (from cryptography->pymysql)
  Using cached https://files.pythonhosted.org/packages/2f/85/a9184548ad4261916d08a50d9e272bf6f93c54f3
735878fbfc9335efd94b/cffi-1.11.5-cp36-cp36m-win_amd64.whl
Collecting idna>=2.1 (from cryptography->pymysql)
  Using cached https://files.pythonhosted.org/packages/4b/2a/0276479a4b3caeb8a8c1af2f8e4355746a97fab0
5a372e4a2c6a6b876165/idna-2.7-py2.py3-none-any.whl
Collecting six>=1.4.1 (from cryptography->pymysql)
  Using cached https://files.pythonhosted.org/packages/67/4b/141a581104b1f6397bfa78ac9d43d8ad29a7ca43
ea90a2d863fe3056e86a/six-1.11.0-py2.py3-none-any.whl
Collecting asn1crypto>=0.21.0 (from cryptography->pymysql)
  Using cached https://files.pythonhosted.org/packages/ea/cd/35485615f45f30a510576f1a56d1e0a7ad7bd8ab
5ed7cdc600ef7cd06222/asn1crypto-0.24.0-py2.py3-none-any.whl
Collecting pycparser (from cffi!=1.11.3,>=1.7->cryptography->pymysql)
  Using cached https://files.pythonhosted.org/packages/8c/2d/aad7f16146f4197a11f8e91fb81df177adcc2073
d36a17b1491fd09df6ed/pycparser-2.18.tar.gz
Installing collected packages: pycparser, cffi, idna, six, asn1crypto, cryptography, pymysql
  Running setup.py install for pycparser ... done
Successfully installed asn1crypto-0.24.0 cffi-1.11.5 cryptography-2.3.1 idna-2.7 pycparser-2.18 pymys
ql-0.9.2 six-1.11.0

查看版本信息

3.配置Django基本流程

3.1.导入pymysql包

在Django的db项目名称下的init.py下添加

import pymysql   #导入pymysql包,里面的所有功能便可以使用了,不需要单独一个个导入pymysql下的功能模块了
pymysql.install_as_MySQLdb()   #当成mysqldb使用,没有这个就会使用pymysql的方式,这个主要是便于之前2.x版本用习惯了mysqldb的人使用(3.x版本后无法使用mysqldb)

3.2创建app

Terminal控制台敲命令

python manage.py startapp db_operate

创建完成后,会在左边多出一个目录db_operate(自己创建时的命名),里面就是用来做Django各种操作的

3.3注册APP

进入settings.py,找到一下配置,添加’db_opeate’,用于注册创建的app

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

4.修改urls.py文件

from django.contrib import admin
# from django.urls import path  Django2.1.1版本的导入方式
from django.conf.urls import url

urlpatterns = [
    # path('admin/', admin.site.urls), Django2.1.1版本的导入方式
    url('admin/', admin.site.urls),
]

4.配置静态网页

4.1创建目录static

这个static目录里面用于存放子目录如css、js、img这些内容

4.2.配置static添加信息

在settings.py中配置static静态页面信息,作用是便于Django项目运行是调用该目录下的文件

4.3.static下添加内容

4.4.创建index.html网页文件

这个文件需要在templates下创建,这个目录在创建项目的时候自动创建的,项目运行时,会找到这个目录下的网页文件进行识别

5.配置数据库

5.1连接数据库

#settings.py文件
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'demo',
        'USER':'root',
        'PASSWORD':'root'
    }
}

5.2定义Movies类(也就是列名、字典键)

from django.db import models

class Movies(models.Model):
    name=models.CharField(max_length=64)
    category=models.CharField(max_length=64)
    date=models.CharField(max_length=64)

    class Meta:
        db_table="t_movies"

5.3创建表

makemigrations detail
migrate detail

5.4创建函数方法(也就是进行增删改查操作)

from django.shortcuts import render
from detail.models import Movies

def add(request):
    if request.method=="GET":
        return render(request, 'addmovies.html')
    elif request.method=="POST":
        movies=Movies()
        movies.name=request.POST.get("name")
        movies.category=request.POST.get("category")
        movies.date=request.POST.get("date")
        movies.save()
        # return select(request)
        return redirect(to= reverse('movielist'))       #重定向方式

def select(request):
    movies=Movies.objects.all()   #字典
    return render(request,'movielist.html',context={
   'movies':movies})

5.5设置路由(调用函数至网页文件)

from django.contrib import admin
from django.conf.urls import url

from detail import views
urlpatterns = [
    url('admin/', admin.site.urls),
    url('addmovies/',views.add),
    url('movielist/',views.select,name='movielist')     #重定向方式
    #url('movielist/',views.select)
]

5.6网页文件

添加记录的页面

<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/html">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <form action="http://127.0.0.1:8000/addmovies/" method="POST">
        请输入电影名称:<input type="text"  name="name"><br>
        请输入电影类型:<input type="text" name="category"><br>
        请输入时间:<input type="text"  name="date"><br>
        <input type="submit" value="提交">
    </form>
</body>
</html>

查询记录的页面

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>movie list</title>
</head>
<body>
    <table border="1" cellspacing="0">
        <tr>
            <th>name</th>
            <th>category</th>
            <th>date</th>
        </tr>
        {% for movie in movies %}
            <tr>
                <td>{
   { movie.name }}</td>
                <td>{
   { movie.category }}</td>
                <td>{
   { movie.date }}</td>
            </tr>
        {% endfor %}
    </table>
</body>
</html>

5.7查看效果

添加页面

提交后跳转到电影列表页面

查看数据库

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/endmoon/article/details/82627244

智能推荐

导航组件—Android应用中使用底部导航栏BottomNavigationView_infrustrup的博客-程序员宝宝

一. 在Activity中使用底部导航栏BottomNavigationView步骤一:在菜单文件中定义底部导航菜单选项内容1.1 新建menu文件menu_bottom_nav.xml(src/main/res/menu/menu_bottom_nav.xml)1.2 构建menu_bottom_nav.xml(src/main/res/menu/menu_bottom_nav.xml)内容&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;menu

firefox 扩展_如何检查您的扩展程序是否将停止与Firefox 57一起使用_cum43546的博客-程序员宝宝

firefox 扩展With Firefox 57, scheduled for release in November 14, 2017, Mozilla will end support for legacy extensions, and only support newer WebExtensions. Here’s how to check if your extensions will...

本地Jupyter连接远程linux服务器_jupyter访问linux服务器代码_江南路漫的博客-程序员宝宝

连接的前提是本地装好了Jupyter,以及远程的服务器也配置好了。先连接远程的Linux服务器,输入脚本命令:jupyter notebook得到执行结果:[I 14:29:11.290 NotebookApp] Serving notebooks from local directory: /home/ubuntu[I 14:29:11.290 NotebookApp] Jupyter Notebook 6.4.8 is running at:[I 14:29:11.290 Notebook

Delphi组件_weixin_34378045的博客-程序员宝宝

组件所对应的类为TComponent,所有的组件都是由这个类派生来的。通常,窗体中会有文字输入、滚动条、复选框、单选框、按钮等一系列组件,通过这些直观易懂的组件,可以方便的实现多种多样的功能。在Delphi中,这些运行期间出现在窗体和对话框中的组件称为可视组件,对应TControl子类。在窗体中,不仅可以放置组件,还可以放置一些运行期间非可视的组件,对应其它的...

什么是框架?使用框架有什么好处?_weixin_30871905的博客-程序员宝宝

1、框架的含义形象一点说吧,1.1、假如你盖房子,你是自己一砖一瓦的盖简单呢,还是拿一个现成的架子往上面添东西简单呢?1.2、结果不言而喻吧,有一个半成品的架子,你只需要添上一些你自己额外需要加的东西就好了。这就是框架的好处。2、框架的好处其实框架,就是别人写好了包装起来的一套工具,把你原先必须要写的,必须要做的一些复杂的东西都写好了放在那里,你只要调用他的方法,就可以实现一些本来要...

红队安全研发系列之免杀原理和绕过研究——静态查杀实现与绕过_扶苏゜的博客-程序员宝宝

前言这篇文章我们将介绍一款开源杀毒软件Clamav,通过学习开源杀毒软件病毒查杀原理来绕过其查杀技术。环境配置1.下载Clamav,建议下载portable版本。2.运行下列命令配置Clamav。cd “解压的目录\clamav”copy .\conf_examples\freshclam.conf.sample .\freshclam.confcopy .\conf_examples\clamd.conf.sample .\clamd.confwrite.exe .\freshclam.c

随便推点

Docker搭建Hadoop集群(Docker & Hadoop & HDFS & Yarn & Cluster)_lizongti的博客-程序员宝宝_yarn hadoop docker 裁剪

Docker搭建Hadoop集群环境准备依赖安装Docker单例模式安装JDK安装Hadoop修改配置文件环境变量免密登录启动环境准备依赖CentOS7.6安装Docker参照安装(点击)单例模式安装JDK去官网上下载1.8版本的tar.gz ,如果使用yum安装或者下载rpm包安装,则会缺少Scala2.11需要的部分文件。tar xf jdk-8u221-linux-x64....

TypeScript简记[email protected]_影之李小白的博客-程序员宝宝

文章目录概述相对于 JavaScript 的不同JavaScript 简记差异如何选择静态类型推理类型定义类型原始类型组合类型判断类型结构类型系统参考从 JavaScript 迁移编写配置文件迁移到 TypeScript 文件清除错误概述TypeScript是微软开发的一个开源的编程语言,2013才发布了首个正式版本。由于JavaScript语言本身的局限性,难以胜任和维护大型项目开发。因此微软开发了TypeScript ,使得其能够胜任开发大型项目。TypeScript是JavaScript的一

问题记录:GateWay启动报错_DeathAndLife的博客-程序员宝宝

版本:SpringCloud: Hoxton SR6GateWay:2.2.4 其它版本也一样(2.x)SpringBoot:2.2.1依赖:&lt;dependencies&gt; &lt;dependency&gt; &lt;groupId&gt;org.springframework.cloud&lt;/groupId&gt; &lt;artifactId&gt;spring-cloud-starter-consul-discover

花10分钟看一下少走30年弯路_puppet_master的博客-程序员宝宝

原文地址:http://blog.csdn.net/lly20000/article/details/7541738HP大中华区总裁孙振耀退休感言:  如果这篇文章没有分享给你,那是我的错。  如果这篇文章分享给你了,你却没有读,继续走弯路的你不要怪我。  如果你看了这篇文章,只读了一半你就说没时间了,说明你已经是个“茫”人了。  如

linux中安装jdk+jmeter-_weixin_30256505的博客-程序员宝宝

--------------linux中安装jdk+jmeter--------------------一、安装JDK7.0版本1、先卸载服务器自带的jdk软件包# java -version #查看服务器是否安装过jdkjava version "1.6.0_17"OpenJDK Runtime Environment (IcedTea6 1.7.4) (r...

android surface使用教程,Android:SurfaceView 的使用(附代码模板)_weixin_39967670的博客-程序员宝宝

前言摘自《Android群英传》Android提供了View进行绘图处理,View可以满足大部分的绘图需求,但在某些时候也会心有余而力不足。我们知道,View通过刷新来重绘视图,Android 系统通过发出VSYNC信号来进行屏幕的重绘,刷新的时间间隔为16ms。如果在16ms内View完成了你所需要执行的所有操作,那么用户在视觉上就不会产生卡顿的感觉;而如果执行的操作逻辑太多,特别是需要频繁刷新...

推荐文章

热门文章

相关标签