python+django搭web项目(1)


1    Python安装Django
Pip3 install Django
安装完成后,..\Programs\Python\Python36\Scripts 目录下的django-admin.exe 添加到环境变量中
 
 
2    Django基本配置
2.1    创建项目
1、方法一:cmd下执行命令
django-admin startproject mysite

注意:如果提示不是内部或外部命令,可以写全部路径进行创建
 
2、方法二、pycharm中创建-------此方式支持pycharm个人版,不支持社区版
(1)    打开pychrm--File---New Project --
(2)    左侧选择Django,右侧输入名称信息
 python+django搭web项目(1)_第1张图片
3、方法三、pycharm社区版
(1)    创建项目:在cmd命令行下输入:django-admin startproject Demo        (cmd命令先进入目录:cd D:\PycharmProjects)


 
(2)    导入项目:打开Pycharm,open,选择刚才创建的项目

python+django搭web项目(1)_第2张图片

创建成功后目录:
Mysite-------------------主目录
    Mysite------------------子目录
        --settings.py---------------配置文件
        --urls.py--------------------配置文件--路由映射
        --wsgi.py-------------------配置文件
    Manage.py--------------Django程序启动文件

 
2.2    创建APP
所有app中的内容都共享主文件中的配置
1、创建app
    创建app方法1:
    在terminal 中输入命令
    先进入到cd mysite 目录下,输入命令:python manage.py startapp cmdb        # cmdb是app名称
注意:如果提示不是内部或外部命令,可以写全部路径进行创建
 
 创建成功,主目录下会多一个文件夹
目录结构说明:
Cmdb-----------子目录
    Migrations----------子文件夹
    Admin.py------------------------------已自动创建后台管理系统,管理后台系统的
    Apps.py------------------------------ 当前app的配置文件
    Models.py------------------------------与数据库相关内容,写完类自动生成表
    Tests.py------------------------------ 用于单元测试,测试程序的
   Views.py------------------------------ 业务相关内容,可以创建成文件夹

 
    创建app方法2:
使用 manage.py Task 工具创建APP
python+django搭web项目(1)_第3张图片

2、Views业务文件夹
创建views文件夹,将原Views.py文件放到views文件夹中,其他py文件位置不能变化
python+django搭web项目(1)_第4张图片


2.3    路由映射
    1、路由映射 urls.py—单app映射

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

urlpatterns = [
    # url(r'^admin/', admin.site.urls),
    url(r'^index/', views.index),
]

 

    View.py中代码:

from django.shortcuts import render
from django.shortcuts import HttpResponse
# 处理用户请求,固定的参数request,将用户的请求都放在此参数中
def index(request):
    # 只有将返回值放到参数HttpResponse中,用户才能看到返回值内容
    return HttpResponse('123')


 
    2、路由映射 urls.py—多app映射
主urls.py文件配置

from django.conf.urls import url, include
urlpatterns = [
    url(r'^app01/', include('app01.urls')),
]

子urls.py文件配置

from django.conf.urls import url
from app01.views import views

urlpatterns = [
    url(r'^index.html/', views.inedx),
]

2.4    数据库配置
    1、sqlite数据库(django默认数据库)
    (a)    setting.py配置文件

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

    (b)    创建数据库命令
---- python manage.py.makemigrateions
---- python manage.py migrate

    mysql数据库
    (a)    setting.py配置

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

    (b)    在数据库中先创建要连接的数据库名,因为django不提供创建数据库的功能
    (c)    创建数据库命令
---- python manage.py.makemigrateions    #让 Django 知道我们在我们的模型有一些变更
---- python manage.py migrate        #创建表结构


执行创建数据库命令时,报错解决方法:
(1)    错误内容:
django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3.
解决方法:
将文件中的如下代码注释掉
if version < (1, 3, 3):
raise ImproperlyConfigured("mysqlclient 1.3.3 or newer is required; you have %s" % Database.__version__)

(2)    错误内容:AttributeError: 'str' object has no attribute 'decode'
解决方法:
将文件中的错误代码:query = query.encode(errors='replace')
解决方法:把decode改为encode即可。

    (d)    连接MySQL已经生成的库
需要根据数据库去自动生成新的models文件
python manage.py inspectdb    #简单可以看一下自动映射成的models中的内容
导出并且去代替models.py
python manage.py inspectdb > models.py
会在manage.py的同级目录下生成了一个models.py文件,使用这个models.py文件覆盖app中的models文件。
如果完成了以上的操作,生成的是一个不可修改/删除的models,修改meta class中的managed = True则可以去告诉django可以对数据库进行操

2.5    启动Django程序
方法一:在teminal中执行命令
python manage.py runserver 127.0.0.1:8000


 
方法二、点击菜单栏中的
 
备注:前面下拉列表一定要选择当前项目
 

你可能感兴趣的:(python+django项目)