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

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

 


搜索与推荐Wiki

扫一扫 关注微信公众号!号主 专注于搜索和推荐系统,尝试使用算法去更好的服务于用户,包括但不局限于机器学习,深度学习,强化学习,自然语言理解,知识图谱,还不定时分享技术,资料,思考等文章!


                             【技术服务】,详情点击查看:https://mp.weixin.qq.com/s/PtX9ukKRBmazAWARprGIAg 


外包服务

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值