自强学堂mysql_Django ——自强学堂学习笔记

(一)、启动服务器

E:\ScienceSoft\Python\Django\Django_project>python manage.py runserver 0.0.0.0:8

000

Performing system checks...

System check identified no issues (0 silenced).

July 22, 2017 - 17:00:33

Django version 1.11.3, using settings 'Django_project.settings'

Starting development server at http://0.0.0.0:8000/

Quit the server with CTRL-BREAK.

(二)、创建数据库表 或 更改数据库表或字段

E:\ScienceSoft\Python\Django\Django_project>python manage.py makemigrations

No changes detected

E:\ScienceSoft\Python\Django\Django_project>python manage.py migrate

Operations to perform:

Apply all migrations: admin, auth, contenttypes, sessions

Running migrations:

No migrations to apply.

Django 1.7.1及以上 用以下命令

1. 创建更改的文件

python manage.py makemigrations

2. 将生成的py文件应用到数据库

python manage.py migrate

这种方法可以在SQL等数据库中创建与models.py代码对应的表,不需要自己手动执行SQL。

(三) 、使用开发服务器:python manage.py runserver

3.1清空数据库

命令会询问是 yes 还是 no, 选择 yes 会把数据全部清空掉,只留下空表

python manage.py flush

3.2 创建超级管理员

python manage.py createsuperuser

按照提示输入用户名和对应的密码就好了邮箱可以留空,用户名和密码必填

修改 用户密码可以用:

python manage.py changepassword username

我的用户名和密码:sky和Q。。。。123

E:\ScienceSoft\Python\Django\Django_project>python manage.py createsuperuser

Username (leave blank to use 'administrator'): sky

Email address:

Password:

Password (again):

This password is too short. It must contain at least 8 characters.

This password is entirely numeric.

Password:

Password (again):

This password is too common.

This password is entirely numeric.

Password:

Password (again):

This password is too short. It must contain at least 8 characters.

Password:

Password (again):

Superuser created successfully.

(四)、安装bpython

(五)、 Django与数据库

Django 会自动进入在settings.py中设置的数据库:

问题:

1、Django入门:python manage.py dbshell错误

学习SQLite是为了在Django上用,因此我更关注与Django相关的。

解决:

1、下载sqlite3【[http://www.sqlite.org/sqlite-shell-win32-x86-3071401.zip](http://www.sqlite.org/sqlite-shell-win32-x86-3071401.zip)】

2、将sqlite3.exe文件放入(C:\Windwos\System32)中 ,如果是win 7 64位系统则放入C:\Windows\SysWOW64

3、E:\ScienceSoft\Python\Django\Django_project> manage.py dbshell

E:\ScienceSoft\Python\Django\Django_project>python manage.py dbshell

CommandError: You appear not to have the 'sqlite3' program installed or on your

path.

E:\ScienceSoft\Python\Django\Django_project>python manage.py dbshell

SQLite version 3.7.14.1 2012-10-04 19:37:12

Enter ".help" for instructions

Enter SQL statements terminated with a ";"

sqlite>

django-admin.py dbshell可以打开sqlite3命令行shell。该命令需要DJANGO_SETTINGS_MODULE中指定相应的数据库。它与整个django相关的。如果打开项目指定的数据库shell,需要利用manage.py 代替上面的django-admin.py。

如没安装sqlite3,会提示:

Error: You appear not to have the 'sqlite3' program installed or no your path.

由于python只是集成了sqlite3的库文件,并不提供sqlite3程序。要用它的shell要安装下。

sqlite3一些常见命令

SQL;直接执行sql语句。

.help 帮助

.database 查看数据库

.exit .quit 退出

.table 查看表

.dump table 查看SQL语句

(六) 、 Django 视图与网址

urls.py :网址

views.py:正则表达式对应于其中的一个函数(或者generic类)

1.创建项目Django_project

django-admin startproject Django_project

Django_project

├── manage.py

└── Django_project

├── init.py

├── settings.py

├── urls.py

└── wsgi.py

我们会发现执行命令后,新建了一个 Django_project 目录,其中还有一个Django_project 目录,这个子目录 Django_project中是一些项目的设置 settings.py 文件,总的urls配置文件 urls.py 以及部署服务器时用到的 wsgi.py 文件, init.py 是python包的目录结构必须的,与调用有关。

我们到外层那个 Django_project目录下(不是Django_project中的Django_project目录)

(七)、 新建一个应用(app), 名称叫 learn

85048d474e6f?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

image.png

1.添加app到settings.py中

settings.py:

INSTALLED_APPS = [

'django.contrib.admin',

'django.contrib.auth',

'django.contrib.contenttypes',

'django.contrib.sessions',

'django.contrib.messages',

'django.contrib.staticfiles',

# 添加部分如下:添加新的app

'learn',

]

新建的 app 如果不加到 INSTALL_APPS 中的话, django 就不能自动找到app中的模板文件(app-name/templates/下的文件)和静态文件(app-name/static/中的文件)

2.定义视图函数(访问页面时的内容)

learn目录下的view.py:

from django.shortcuts import render

# Create your views here.

# 定义视图函数(访问页面时的内容)

from django.http import HttpResponse

def index(request):

return HttpResponse(u"我的新建 APP !")

第一行是声明编码为utf-8, 因为我们在代码中用到了中文,如果不声明就报错.

第二行引入HttpResponse,它是用来向网页返回内容的,

就像Python中的 print 一样,只不过 HttpResponse 是把内容显示到网页上。

3.怎么让网址和函数关联起来呢?定义视图函数相关的URL(网址) (即规定 访问什么网址对应什么内容)

Django_project\Django_project下的urls.py:

from django.conf.urls import url

from django.contrib import admin

# 添加

from learn import views as learn_views # 取别名

urlpatterns = [

# 添加

url(r'^$', learn_views.index), # new

url(r'^admin/', admin.site.urls),

]

一共修改了settings.py, views.py,urls.py,apps.py

启动服务器 python manage.py runserver,http://127.0.0.1:8000/在浏览器中打开后显示:views.py中的内容

85048d474e6f?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

image.png

Django中的 urls.py 用的是正则进行匹配的,如果不熟悉,您可以学习正则表达式以及Python正则表达式。

(七)、开始再新建项目Developer

在网页上做加减法

修改Developer/calc下的views.py:

from django.shortcuts import render

# Create your views here.

from django.shortcuts import render

# Create your views here.

from django.http import HttpResponse

# 在网页上做加减法

def add(request):

a = request.GET['a']

b= request.GET['b']

c = int(a)+int(b)

return HttpResponse(str(c))

# 注:request.GET 类似于一个字典,更好的办法

# 是用 request.GET.get('a', 0) 当没有传递 a 的时候默认 a 为 0

在修改Developer下的urls.py:

添加一个网址来对应我们刚才新建的视图函数

from django.conf.urls import url

from django.contrib import admin

from calc import views as calc_views

urlpatterns = [

# 添加一个网址来对应learn下的views.py中新建的视图函数

url(r'^add/$', calc_views.add, name='add')

# name相当于“给网址取了个名字”,只要这个名字不变,网址变了也能通过名字获取到

#url(r'^admin/', admin.site.urls),

]

85048d474e6f?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

image.png

这是因为我们并没有传值进去,我们在后面加上?a=4&b=5,即访问 http://127.0.0.1:8001/add/?a=4&b=5

就可以看到网页上显示一个 9,试着改变一下a和b对应的值试试看?

注意:如果打开8000端口会访问失败,原因是前面创建的项目已将占用了端口8000

所以此处改为8001

85048d474e6f?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

image.png

85048d474e6f?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

image.png

2.采用 /add/3/4/ 这样的网址的方式

修改 calc/views.py文件,再新定义一个add2 函数

views.py:

ws here.

from django.http import HttpResponse

# 在网页上做加减法

def add(request):

a = request.GET['a']

b= request.GET['b']

c = int(a)+int(b)

return HttpResponse(str(c))

def add2(request, a, b):

c = int(a) + int(b)

return HttpResponse(str(c))

接着修改Developer/urls.py 文件,再添加一个新的 url

可以看到网址中多了 (\d+), 正则表达式中 \d 代表一个数字,+ 代表一个或多个前面的字符,写在一起 \d+ 就是一个或多个数字,用括号括起来的意思是保存为一个子组

每一个子组将作为一个参数,被 views.py 中的对应视图函数接收。

http://127.0.0.1:8001/add/24/5/在浏览器中打开:

85048d474e6f?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

image.png

4.创建首页视图和url

Developer下的urls.py:

"""

from django.conf.urls import url

from django.contrib import admin

from calc import views as calc_views

urlpatterns = [

# 添加一个网址来对应learn下的views.py中新建的视图函数

url(r'^add/$', calc_views.add, name='add'),

#url(r'^admin/', admin.site.urls),

# 再添加一个新的url

url(r'^add/(\d+)/(\d+)/$', calc_views.add2, name='add2'),

# index是views.py中的函数名

url(r'^$', calc_views.index, name='home')

]

先建一个首页的视图和url修改 calc/views.py:

from django.http import HttpResponse

from django.shortcuts import render

# Create your views here.

# render是渲染模板

# Create your views here.

def index(request):

return render(request, 'home.html')

# 在网页上做加减法

def add(req

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
自强学堂Django 是一门面向 Web 开发的 Python 高级框架。Django 的设计理念强调了快速开发和代码复用,使得开发者能够更加高效地构建功能强大的网站和应用程序。 在自强学堂Django 学习中,学员将会学习Django 的基本概念和工作原理。首先,学员将会了解到 Django 的 MTV(Model-Template-View)架构,这是 Django 开发中非常重要的一部分。Model 负责处理数据的存储和检索,Template 负责呈现页面的展示,View 则是处理请求和与模型和模板进行交互的控制器。 此外,学员还将学习Django 的路由配置和 URL 设计,理解将请求与相应的视图函数进行匹配的过程。学员还将熟悉 Django 的模型(Models),学习如何使用模型类来定义数据结构和数据库表,并了解如何通过模型查询数据并进行增删改查的操作。 在自强学堂Django 学习中,学员还将学习到如何使用 Django 的模板语言(Template Language)来编写可重用的页面模板,包括使用模板标签、模板过滤器等。学员还将学习到如何使用 Django 的表单(Forms)来处理用户输入和数据验证,并学习如何利用 Django 的表单工具快速构建表单。 此外,自强学堂Django 学习还将引导学员了解 Django 的认证系统、缓存、静态文件管理、国际化等重要功能。学员将学习如何使用 Django 创建用户认证和授权机制,以及如何为应用程序提供缓存功能来提升性能。 总的来说,自强学堂Django 学习将教授学员如何使用 Django 快速开发功能强大的 Web 应用程序,并且通过实践项目来加强学习效果。学员将通过学习 Django 的各种组件和功能,积累丰富的 Web 开发经验,为未来的职业发展打下坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值