1

Django (Python 버전 2.7.8, Django verion 1.6)로 구축중인 소셜 네트워킹 앱에서 사용자 주석 시스템을 만들었습니다.사용자가 입력 한 링크가 Django의 텍스트로 표시됩니다.

모든 것이 주석 처리 시스템에서 잘 작동하지만 문제가 발생했습니다. 사용자가 외부 사이트의 링크 중 하나를 제출하면 해당 링크가 일반 텍스트로 나타납니다. 다른 사용자가 클릭 할 수있는 링크로 자동으로 표시되도록 사용자 제출 링크를 표시하고 싶습니다.

누구든지이 문제의 잠재적 해결책을 알고 있습니까?

models.py

class Comment(models.Model): 
    #Model that defines the Commenting system 
    created = models.DateTimeField(editable =False) 
    author = models.CharField(max_length = 200, editable = False) 
    body = models.TextField() 
    item = models.ForeignKey(BucketListItem) 

    def __unicode__(self): 
     return self.body 

주석 - template.html

<h2>Comments:</h2> 
<br> 
{% if comments %} 
    {% for comment in comments %} 
     <div class = "comment-div"> 
      <h5>{% avatar comment.author 40 %}</h5> 
      <h5><a href = "/bucketlist/userstats/{{comment.author}}/"> {{comment.author}}</a></h5> 
      <h5 class ="timesince">{{ comment.created|timesince}} ago.</h3> 
      <br> 
      <br> 
      <p>{{comment.body}}</p> 
      {% if comment.author == current_user %} 
       <a href="/bucketlist/item/{{comment.id}}/delete-comment/"><span class = "fa fa-close"></span></a> 
      {% endif %} 
     </div> 
    {% endfor %} 
    <br> 
    <hr> 
    <br> 
{% else %} 
    <p>There are no comments yet. Be the first to add one!</p> 
{% endif %} 
<h5 class = "leave-comment">Leave a Comment Here: </h5> 
<br> 
<form action="/bucketlist/item/{{id}}/" method = "post" role = "form"> 
    <div class = "form-group"> 
     {% csrf_token %} 
     {% for field in form %} 
      {{ field.errors }} 
       {{ field }} 
      <br> 
     {% endfor %} 
     <br> 
     <input type = "submit" value = "Submit" class="btn btn-warning"> 
    </div> 
    <br> 
+0

주석 뒤에 관련된 모델과 주석 표시를 담당하는 템플릿 코드를 표시 할 수 있습니까? 감사. – alecxe

+0

가급적이면 wysiwyg 텍스트 편집기를 사용하지 않는 편이 좋습니다. –

답변

8

당신은 장고가 제공하는이 사용 the urlize template tag을 할 수 있어야합니다.

<p>{{ comment.body | urlize }}</p> 

실제 <a> 태그에 주석의 신체 내에서 어떤 링크를 변환해야합니다.

+0

그건 완벽하게 작동합니다, 정말 고마워 케빈! 정확히 내가 찾던 것이 었습니다. –