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

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS AI 助手,专业版
简介: 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

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
3月前
|
Ubuntu 关系型数据库 MySQL
MySQL源码编译安装
本文详细介绍了MySQL 8.0及8.4版本的源码编译安装全过程,涵盖用户创建、依赖安装、cmake配置、编译优化等步骤,并提供支持多Linux发行版的一键安装脚本,适用于定制化数据库部署需求。
455 4
MySQL源码编译安装
|
3月前
|
Ubuntu 关系型数据库 MySQL
MySQL二进制包安装
本文详细介绍了在多种Linux系统上通过二进制包安装MySQL 8.0和8.4版本的完整过程,涵盖用户创建、glibc版本匹配、程序解压、环境变量配置、初始化数据库及服务启动等步骤,并提供支持多发行版的一键安装脚本,助力高效部署MySQL环境。
441 4
MySQL二进制包安装
|
3月前
|
安全 关系型数据库 MySQL
MySQL包安装 -- SUSE系列(离线RPM包安装MySQL)
本文详细介绍在openSUSE系统上通过离线RPM包安装MySQL 8.0和8.4版本的完整步骤,包括下载地址、RPM包解压、GPG密钥导入、使用rpm或zypper命令安装及服务启动验证,涵盖初始密码获取与安全修改方法,适用于无网络环境下的MySQL部署。
452 3
MySQL包安装 -- SUSE系列(离线RPM包安装MySQL)
|
3月前
|
关系型数据库 MySQL Linux
MySQL包安装 -- SUSE系列(SUSE资源库安装MySQL)
本文介绍了在openSUSE系统上通过SUSE资源库安装MySQL 8.0和8.4版本的完整步骤,包括配置国内镜像源、安装MySQL服务、启动并验证运行状态,以及修改初始密码等操作,适用于希望在SUSE系列系统中快速部署MySQL的用户。
289 3
MySQL包安装 -- SUSE系列(SUSE资源库安装MySQL)
|
3月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
577 5
|
4月前
|
缓存 关系型数据库 BI
使用MYSQL Report分析数据库性能(下)
使用MYSQL Report分析数据库性能
186 3
|
4月前
|
关系型数据库 MySQL 数据库
自建数据库如何迁移至RDS MySQL实例
数据库迁移是一项复杂且耗时的工程,需考虑数据安全、完整性及业务中断影响。使用阿里云数据传输服务DTS,可快速、平滑完成迁移任务,将应用停机时间降至分钟级。您还可通过全量备份自建数据库并恢复至RDS MySQL实例,实现间接迁移上云。
|
4月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS费用价格:MySQL、SQL Server、PostgreSQL和MariaDB引擎收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL、MariaDB,多种引擎优惠上线!MySQL倚天版88元/年,SQL Server 2核4G仅299元/年,PostgreSQL 227元/年起。高可用、可弹性伸缩,安全稳定。详情见官网活动页。
907 152
|
4月前
|
关系型数据库 MySQL 分布式数据库
阿里云PolarDB云原生数据库收费价格:MySQL和PostgreSQL详细介绍
阿里云PolarDB兼容MySQL、PostgreSQL及Oracle语法,支持集中式与分布式架构。标准版2核4G年费1116元起,企业版最高性能达4核16G,支持HTAP与多级高可用,广泛应用于金融、政务、互联网等领域,TCO成本降低50%。

推荐镜像

更多