美文网首页
Django入门

Django入门

作者: 淇漯草 | 来源:发表于2020-04-24 18:06 被阅读0次

安装Django

基本包

pip3 install Django -i https://pypi.tuna.tsinghua.edu.cn/simple
sudo apt install python3-django

Django的Project结构

django-admin startproject myProject
django-admin startapp myApp

:目前为止创建了一个文件夹,结构如下

image.png
文件名 用途
__init__.py 空文件,指明该文件夹为python包
settings.py 代表该python包的配置
urls.py 负责映射路线和路径
wsgi.py 网关接口(不必在意)

运行服务器

python3 manage.py runserver

此时打开http://127.0.0.1:8000可见到网页

修改端口 与IP
python manage.py runserver 8080

Django的两个重要概念

app: 一个Web应用,包含一系列模型,如数据表,视图,模型等
project: 包含一系列的apps与配置

app下的具体结构

django-admin startapp boards
当前文件架构模型
文件名 用途
migrations/ 保存改变:跟踪models文件,保持数据库与models.py一致
admin.py 内置的在Django app的配置
apps app本身的配置文件
models 我们定义Web实体的地方,models会自动转换为数据表 (database table)
tests.py 写单元测试单元
views.py 控制Web应用的请求/回应循环

至此:settings.py会自动建立一个apps的配置文件。除了已有的六个之外,我们自行添加 'boards' .


settings.py内部内容增添情况

创建第一个view

1.建立一个视图 views.py

from django.http import HttpResponse
def home(request):
    return HttpResponse('Hello, World!')

此时当收到请求,返回Hello,World!
2.告诉Django何时提供这个视图 urls.py

from . import views
urlpatterns = [
    path('', views.视图名, name='视图名'),
]

3.project的urls包含app的urls

from django.contrib import admin
from django.urls import path, include
urlpatterns = [
    path('polls/', include('polls.urls')),
    path('admin/', admin.site.urls),
]

localhost:8000/blog/
可以看见返回结果HelloWorld

参数含义

path() : 有四个参数, route、view
route用正则表达式匹配,view调用特定的视图函数
kwargs(可传参数,如字典)、name(为url取名,任意地方可以引用它)

在Django中使用MySQL数据库

1.安装MySQLdb库

pip install MySQLdb

2.新建项目

django-admin.py startproject myProject
cd myProject
django-admin.py startapp myApp

3.在mysql中创建表

create database myDatabase default charset = utf8

4.修改myProject的settings,尾部添加blog(app)
INSTALLED_APPS内部尾部添加'blog'
修改DATABASES

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

5.在blog的models.py中添加

from django.db import models

class Employee(models.Model):
     name=models.CharField(max_length=20)

6.同步数据库

manage.py migrate 

7.查看MySQL数据库的表

use myDatabase;
show tables;

参考资料:

Django入门教程
Django中使用MySQL数据库
syncdb解决方案-->migrate

相关文章

网友评论

      本文标题:Django入门

      本文链接:https://www.haomeiwen.com/subject/iepfwhtx.html