Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 29, 2015 19:31:19

Xa_xoo
Зарегистрирован: 2015-08-28
Сообщения: 58
Репутация: +  0  -
Профиль   Отправить e-mail  

utf-8 / переменная

Добрый день.
Возникла проблема такого рода:
'utf-8' codec can't decode byte 0xd1 in position 25: invalid continuation byte

*1 вопрос
ругается при :

def articles(request):
    return render_to_response('articles.html', {'artticles': Article.objects.all()})

как быть?

*2 вопрос
и в догонку здесь же ругается на

def article(request, article_id=1):
    render_to_response('article.html', {'article': Article.objects.get(id=article_id), 'comments': Comments.objects.filter(commnets_article_id=article_id)})

выдает

“^articles/get/(?<article_id>)\d+/$” is not a valid regular expression: syntax error

заранее признателен

Офлайн

#2 Авг. 30, 2015 06:06:21

J.R.
Зарегистрирован: 2015-07-18
Сообщения: 147
Репутация: +  16  -
Профиль  

utf-8 / переменная

.

Отредактировано J.R. (Фев. 27, 2016 16:43:44)

Офлайн

#3 Авг. 30, 2015 11:02:28

Xa_xoo
Зарегистрирован: 2015-08-28
Сообщения: 58
Репутация: +  0  -
Профиль   Отправить e-mail  

utf-8 / переменная

прошу прощения, в силу того, что я совсем новичек, могу и тупить)
ситуация такова:
питон 3.4 пишу на виндовс 7
формирую базу данных в виде статьи+коментарии

1. насчет кодировки - это для меня тупиковый вопрос. Каким образом мне указывать кодировку?
в базе все тексты вводил на латинице

2. убирал \d : всеравно психует

урлс:

from django.conf.urls import include, url
from django.contrib import admin
import article
urlpatterns = [
    url(r'^admin/', include(admin.site.urls)),    
    url(r'^basicview/1', 'article.views.basic_one'),
    url(r'^basicview/2', 'article.views.template_two'),
    url(r'^basicview/3', 'article.views.template_three_simple'),
    url(r'^articles/all/$', 'article.views.articles'),
    url(r'^articles/get/(?<article_id>)\d+/$', 'article.views.article'), 
]
моделс:
from django.db import models
class Article(models.Model):
    class Meta():
        db_table = "article" # задать название самому
        
    article_title = models.CharField(max_length = 200)
    article_text = models.TextField()
    article_date = models.DateTimeField()
    article_likes = models.IntegerField(default = 0) # по умолчанию 0
    def __str__(self):
        return self.article_title
    
class Comments(models.Model):
    class Meta():
        db_table = "comments"
    comments_text = models.TextField()
    comments_article = models.ForeignKey(Article) # связь с другой

вьюха:
def articles(request):
    return render_to_response('articles.html', {'artticles': Article.objects.all()})
def article(request, article_id=1):
    render_to_response('article.html', {'article': Article.objects.get(id=article_id), 'comments': Comments.objects.filter(commnets_article_id=article_id)})

Офлайн

#4 Авг. 30, 2015 12:33:45

J.R.
Зарегистрирован: 2015-07-18
Сообщения: 147
Репутация: +  16  -
Профиль  

utf-8 / переменная

.

Отредактировано J.R. (Фев. 27, 2016 16:44:29)

Офлайн

#5 Авг. 30, 2015 17:46:26

Xa_xoo
Зарегистрирован: 2015-08-28
Сообщения: 58
Репутация: +  0  -
Профиль   Отправить e-mail  

utf-8 / переменная

все заработало. я просто слепой…“^articles/get/(?<arti

cle_id>)\d+/$” is not a valid regular expression: syntax error -
тут P пропустил articles/get/(?P<article_id>)\d+/$”

а с utf-8 : везде проставил, как Вы сказали#encoding: utf8 и в самих шаблонах в html установил кодировку utf-8 - теперь все работает. Спасибо огромное!

Но теперь таков вопрос)) а как же мне отобразить страницу если я хочу видеть русские символы? при добавлении русских букв в страницу - сразу ругается на utf-8? А вот например с
def basic_one(request):
    view = "basic_one"
    html = "<html><body>this is СПАРТА %s</body></html>" % view
    return HttpResponse(html)

или

def template_two(request):
    view = "template_two"
    t = get_template('myview.html')
    html = t.render(Context({'name': view}))
    return HttpResponse(html)

отображает русские символы. Так как же быть ?

Офлайн

#6 Авг. 31, 2015 13:59:49

i.slepov
Зарегистрирован: 2015-05-28
Сообщения: 53
Репутация: +  5  -
Профиль   Отправить e-mail  

utf-8 / переменная

Xa_xoo
а с utf-8 : везде проставил, как Вы сказали#encoding: utf8

Для python версии 3 и более - не нужно.

Xa_xoo
Так как же быть ?

Писать и сохранять код в кодировке utf-8.

Отредактировано i.slepov (Авг. 31, 2015 14:01:56)

Офлайн

#7 Авг. 31, 2015 19:45:05

Xa_xoo
Зарегистрирован: 2015-08-28
Сообщения: 58
Репутация: +  0  -
Профиль   Отправить e-mail  

utf-8 / переменная

Написал в начале файликов # -*- utf-8 -*- , в html charset utf 8 выставил и все работает

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version