Django入門(二)

1、Django中的app

  在每個diango項目中能夠包含多個APP,至關於大型項目中的分系統、子模塊、功能部件等。相互之間比較獨立,但也有聯繫。css

  在pycharm下方的Terminal終端中輸入命令:html

  ptyhon manage.py startapp app01python

  就能夠建立一個名爲app01的APP,Django自動生成app01文件夾mysql

  建立好以後須要在settings中進行配置註冊sql

2、模板路徑配置

  模板文件通常都存放在templates文件夾下,該文件夾也就是html文件們的歸置目錄,使用pycharm建立Django項目時,該文件夾是默認添加的,若是是本身建的Django項目,就須要在settings文件夾中進行配置註冊。數據庫

3、靜態文件配置

  咱們能夠將html文件返回給用戶,可是還須要一些其餘類型的文件,如css,js和其餘的插件,全部在Django中,通常將靜態文件放在static目錄中。因此須要在項目目錄下新建一個static文件夾。django

  爲了讓Django找到這個目錄,依然須要對settings進行配置app

  而後在html文件中,就能夠引入js文件了post

4、登陸功能

login.htmlfetch

<body>
    <!-- action:提交給後臺的地址,有三種寫法 -->
    <!-- 1.http://127.0.0.1:8000/login -->
    <!-- 2./login/ -->
    <!-- 3.空 -->
    <form action="/login/" method="post">
        <p>
            用戶名:<input type="text" name="name" class="form-control">
        </p>
        <p>
            密碼:<input type="text" name="pwd" class="form-control">
        </p>
        <input type="submit" value="提交">
    </form>
</body>

views.py

def login(request):
    # request.method--前臺提交過來請求的方式
    if request.method == "GET":
        return render(request, "login.html")
    elif request.method == "POST":
        # request.POST(至關於字典)--post形式提交過來的數據
        # request.POST.get("name")--推薦用get取值(取出列表最後一個值)
        name = request.POST.get("name")
        pwd = request.POST.get("pwd")
        # 鏈接數據庫
        conn= pymysql.connect(host='127.0.0.1', port=3306, db='abc',                user='root', password='123456')
        cur = conn.cursor()
        # 防止sql注入漏洞,推薦如下寫法
        cur.execute('select * from user where name=%s and password=%s', [name, pwd])
        user = cur.fetchone()
        if user:
            return HttpResponse("登陸成功")
        else:
            return HttpResponse("密碼或用戶名錯誤")

5、get請求和post請求

  get:獲取數據,頁面,攜帶數據是不重要的數據(數據量有大小限制)

  post:日後臺提交數據

6、新手三件套

  一、render:返回頁面,默認回去templates中來,因此須要注意路徑的配置

  二、redirect:重定向

  三、HttpResponse:返回字符串

本質都是返回HTTPResponse的對象

7、ORM介紹

ORM即Object Relational Mapping,全稱爲對象關係映射

使用方式:鏈接mysql數據庫
    在settings文件中配置:
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'HOST': '127.0.0.1',
        'PORT': 3306,
        'USER': 'root',
        'PASSWORD': 'admin',
        'NAME': 'lqz',
        }
還須要在app下的__init__.py中寫:
import pymysql
pymysql.install_as_MySQLdb()

而後在models文件中新建一個類,該類就是數據庫中的數據表
class User(models.Model):
    # 自增int類型,主鍵
    id = models.AutoField(primary_key=True)
    # name和pwd是varchar類型,長度是32
    name=models.CharField(max_length=32)
    pwd=models.CharField(max_length=32)

接下來要在pycharm的teminal中經過命令建立數據庫的表了。有2條命令,分別是:
1.python manage.py makemigrations ---記錄如下數據庫的變化
2.python manage.py migrate ---將變化同步到數據庫中
相關文章
相關標籤/搜索