01.Django学习之安装,建立项目,传参,MySQL数据库,静态文件配置和模板的使用

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 1:安装 pip install Django==1.8.6 2:建立项目  进入某个目录执行 django-admin.py startproject myweb(此为项目目录)  建立子目录:         先进入 myweb目录,然后执行 manage.
1:安装
pip install Django==1.8.6

2:建立项目
 进入某个目录执行 django-admin.py startproject myweb(此为项目目录)

 建立子目录:
        先进入 myweb目录,然后执行 manage.py startapp blog,ok子目录完毕
        在SName的views.py中添加如下代码:
             from django.http import HttpResponse
            def hello(request):
                return HttpResponse("Hello World")


   配置url:
        在myweb的settings.py 中INSTALLED_APP = ('xxxx','xxx','xxx','blog',)加上blog
        在同级目录的urls.py中 配置url,这里有两种方式
            (1)直接定位    url(r'^blog/index/$','blog.views.hello'),
            (2)定位到子目录
                    在myweb 中的urls.py中加入url(r'^blog/', include('blog.urls'))
                 再定位到具体文件
                     在blog中的urls.py中加入url(r'^blog/$', 'blog.views.hello')

     启动服务:
          进入myweb目录,执行manage.py runserver

     浏览器访问:
           127.0.0.1:8000/blog/hello

    至此项目建立已基本完成
    
3:使用模板
    在blog目录下建立templates文件夹,将index.html放入
    blog的views.py修改如下:
        from django.http import HttpResponse
        from django.template import loader,Context
        def hello(request):
                t = loader.get_template('index.html')
                c = Context({})           #用于传参数    
                return HttpResponse(t.render(c))
           浏览器访问: 127.0.0.1:8000/blog/hello



4:配置CSS,js,images.....等静态文件目录
    在FName下建立static目录,将css,images等文件夹拷贝到此目录下
    在FName的settings.py  STATIC_URL = '/static/' 下加上如下文件
    STATIC_ROOT = os.path.join(os.path.dirname(__file__),'../static')
    STATICFILES_DIRS = (
        ('css',os.path.join(STATIC_ROOT,'css').replace('\\','/') ),  
        ('js',os.path.join(STATIC_ROOT,'js').replace('\\','/') ),
        ('images',os.path.join(STATIC_ROOT,'images').replace('\\','/') ),
        ('upload',os.path.join(STATIC_ROOT,'upload').replace('\\','/') ),
    )
    当然这里也可以简化一下,只需要如下的配置也可以:  
STATIC_URL = '/static/'
STATICFILES_DIRS=(
    os.path.join(BASE_DIR,'static')
)
    在模板网页中使用的时候加上/static/  如:
    <link href="/static/css/index.css" rel="styleshet" type="text/css"  />
  其他的如上
 
5:传递参数:
   传递参数类型为:Python的变量,函数,类....
    ({name}):表示变量

6:URL传值(使用正则表达式)
    myweb 项目下的url
    urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'^blog/',include('blog.urls')),
]
    复制myweb下的url到blog目录下,修改如下
    urlpatterns = [
url(r'^time/$','blog.views.time'),
url(r'^foo/(\d{4})/(\w+)/$','blog.views.foo'),
]


    def time(request):
t = loader.get_template("time.html")
id = request.GET.get("id")
name = request.GET.get("name")
c = Context({"title":"thinkgamer","time":datetime.datetime.now(),"id":id,"name":name})
return HttpResponse(t.render(c))
 
  
    <body>
<p>time is {{ time | date:"Y-m-d"}}</p>
<p>id is {{ id }}</p>
<p>name is {{ name }}</p>
</body>
    方式二:http://127.0.0.1:8000/blog/foo/1234/asdd/
 
 
    def foo(request,p1,p2):
t = loader.get_template("time.html")
c = Context({"title":"thinkgamer","time":datetime.datetime.now(),"id":p1,"name":p2})
return HttpResponse(t.render(c))
 
 
    <body>
<p>time is {{ time | date:"Y-m-d"}}</p>
<p>id is {{ id }}</p>
<p>name is {{ name }}</p>
</body>
    url(r'^foo/(\d{4})/(\w+)/$','blog.views.foo'),

7:MySQL数据库的简单配置
    连接
    myweb中的settings.py
     DATABASES = {
            'default': {
                'ENGINE': 'django.db.backends.mysql',
                'NAME': 'csvt',
                'USER':'root',
                'PASSWORD':'123456',
                'HOST':'',
                'PORT':'',
            }
       }     
 
 
    blog的models.py文件
 
 
        from django.db import models

        class Employee(models.Model):
             name=models.CharField(max_length=20)
     同步数据库
 
 

首先,用下面的命令验证模型的有效性:

     python manage.py validate
        运行下面的命令来生成 CREATE TABLE 语句
     python manage.py sqlall blog
输出的是sql语句,但此时并没有在数据库中创建数据表
     同步数据库
     python manage.py syncdb
     (此时可能会报错,解决办法是:删除blog下的migrations目录,重新执行python manage.py syncdb即可
     反向同步
     python manage.py inspectdb(查看语句) 
 
 
     python manage.py > inspectdb 
> blog/models.py

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
7天前
|
关系型数据库 MySQL Linux
MySQL数据库下载安装教程(Windows&Linux)
本文档详细介绍了MySQL的安装步骤,包括安装前的准备工作、下载安装包、Windows和Linux系统下的具体安装流程,以及如何配置MySQL服务、设置环境变量、启动服务和连接数据库等关键操作。
|
18天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第16天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括配置系统源、安装 SQL Server 2019 软件包以及数据库初始化,确保 SQL Server 正常运行。
|
27天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第8天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统准备、配置安装源、安装 SQL Server 软件包、运行安装程序、初始化数据库以及配置远程连接。通过这些步骤,您可以顺利地在 CentOS 系统上部署和使用 SQL Server 2019。
|
29天前
|
SQL 关系型数据库 MySQL
go语言数据库中mysql驱动安装
【11月更文挑战第2天】
39 4
|
1月前
|
SQL 关系型数据库 MySQL
go语言中安装数据库驱动
【11月更文挑战第1天】
44 5
|
28天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第7天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统要求检查与准备、配置安装源、安装 SQL Server 2019、配置 SQL Server 以及数据库初始化(可选)。通过这些步骤,你可以成功安装并初步配置 SQL Server 2019,进行简单的数据库操作。
|
1月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。通过具体案例,读者可以了解如何准备环境、下载源码、编译安装、配置服务及登录 MySQL。编译源码安装虽然复杂,但提供了更高的定制性和灵活性,适用于需要高度定制的场景。
84 3
|
13天前
|
网络安全 数据库
gbase 8a 数据库 安装8ampp 常见ssh报错问题
gbase 8a 数据库 安装8ampp 常见ssh报错问题
|
24天前
|
运维 关系型数据库 MySQL
安装MySQL8数据库
本文介绍了MySQL的不同版本及其特点,并详细描述了如何通过Yum源安装MySQL 8.4社区版,包括配置Yum源、安装MySQL、启动服务、设置开机自启动、修改root用户密码以及设置远程登录等步骤。最后还提供了测试连接的方法。适用于初学者和运维人员。
145 0
|
应用服务中间件 nginx Python
Django项目部署
环境 django == 1.11.16 nginx == 1.10.3 项目编写 略 安装nginx 略(前一篇有详细介绍) 配置uwsgi 创建 xxx.ini 文件 [uwsgi] socket=:9000 # 端口 chdir=/mnt/project/project_api # 项目路径 包含manage.