Доделать web интерфейс - Python
Формулировка задачи:
Python 3.4.4/3.5.1 + Django 1.9.5 + PostgreSQL 9.5.2, проект и бекап БД во вложении.
На данный момент работает только админка.
Нужно исправить ошибки. Задание:
Измените файл конфигурации «.\books\views.py»:
• импортируйте модели Book, Author;
• добавляем представления.
Отредактируйте список URL «.\mysite\urls.py»:
Создаем шаблон «.\templates\Select_authors.html»:
Создаем шаблон «.\templates\Select_books.html»:
Листинг программы
- conn = psycopg2.connect("dbname = 'Books' user = 'postgres' host = 'localhost' password = '111'")
Листинг программы
- from django.shortcuts import render_to_response
- from books.models import Book
- from books.models import Author
- def select_author(request):
- if 'Name' in request.GET and request.GET['Name']:
- Name1 = request.GET['Name']
- Authors = Authors.objects.filter(Name__startswith = Name1)
- return render_to_response('Select_authors.html', {'rows' : Authors, 'Author' : True})
- else:
- return render_to_response('Select_authors.html', {'Author' : False})
- def select_book(request):
- Books = Book.objects.filter(author_id = request.GET['author_id'])
- return render_to_response('Select_Books.html', {'Books' : Books})
- def save_book(request):
- ID = Book.objects.get(id = request.GET['id'])
- D = ID.downloads
- ID.downloads = 1 + D
- ID.save()
- Books = Book.objects.filter(author_id = request.GET['author_id'])
- return render_to_response('Select_Books.html', {'Books' : Books})
Листинг программы
- from django.conf.urls import url
- from django.contrib import admin
- from mysite.views import views
- from django.conf import settings
- from books.views import select_author
- from books.views import select_book
- from books.views import save_book
- admin.autodiscover()
- urlpatterns = [
- url(r'^select_author/$', select_author),
- url(r'^select_book/$', select_book),
- url(r'^save_book/$', save_book),
- url(r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.STATIC_DOC_ROOT}),
- url(r'^$', views),
- url(r'^admin/', admin.site.urls),
- ]
Листинг программы
- {% load staticfiles %}
- <html>
- <head>
- <title>Книги</title>
- <meta charset = "utf-8">
- <link rel = "stylesheet" type = "text/css"
- href = "{% static 'mysite/style.css' %}" />
- </head>
- <body>
- <div><h1>Писатель</h1></div>
- <form action = "/select_author/" method = "get">
- <input name = Name>
- <input type = "submit" value = "Найти">
- </form>
- {% if Author %}
- {% for a in rows %}{% endfor %}
- {% for a in rows %}
- <table>
- <tr><th colspan = 2>
- <tr>
- <td>
- <a href = '/select_book/?author_id = {{a.id}}'>
- <img src = {{a.img.url}} align = left>
- </a>
- </td>
- <td valign = top>
- <div class = "container">
- <h2>{{a}}</h2>
- <a href = "#demo{{a.id}}" class = "btn btn-success"
- data-toggle = "collapse">Биография
- </a>
- <div id = "demo{{a.id}}" class = "collapse"> {{a.Text}}
- </div>
- </div>
- </td>
- </tr>
- </table>
- {% endfor %}
- {% endif %}
- </body>
- </html>
Листинг программы
- <html>
- <head> {% load staticfiles %}
- <title>Книги</title>
- <meta charset="utf-8">
- <link rel = "stylesheet" type = "text/css"
- href = "{% static 'mysite/style.css' %}" />
- </head>
- <body> {% for a in books %}
- <table>
- <tr>
- <th colspan = 2>
- <p align = "center"><H1> {{a}} </H1></p>
- </th>
- </tr>
- <tr>
- <td>
- <a href = {{a.book.url}}>
- <img src = {{a.img.url}} align = left>
- </a><br>
- <a href = '/like_book/?id = {{a.id}}&
- author_id = {{a.author_id}}'> интересно:
- </a> {{a.like}}
- </td>
- <td valign = top> {{a.Text}} <br></td>
- </tr>
- </table> {% endfor %}
- </body>
- </html>
Решение задачи: «Доделать web интерфейс»
textual
Листинг программы
- ОШИБКА: отношение "books_author" не существует
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д