چطور میتونم از vue و jinja template کنار هم استفاده کنم؟


#1

سلام من دشیب داشتم توی این انجمن گشتی میزدم که با خوندم دو سه تا تایپک شدید جو گیر شدم و خواستم یکم با flask کار کنم

سوالم اینه که همونطور که میدونید jinja برای پرینت کردن چیزی از ‌‌‌{{}} استفاده میکنه و اتفاقا Vuejs هم همینطوریه :neutral_face:

حالا موندم باید چکار کنم


#2

راستش اگر من باشم اصلا این کارو نمیکنم و کلا با vue کار رندر انجام میدم، یعنی اصلا از جنگو یا فلسک به عنوان view استفاده نمیکنم وقتی قراره vue این کارو انجام بده، اما با استفاده از raw میتونید رندرینگ جینجا رو رد کنید.

{% raw %}
  {{ vue data binding }}
{% endraw %}

قسمت Escaping در لینک زیر
http://jinja.pocoo.org/docs/2.10/templates/

گفتم جنگو، اگر از جنگو استفاده نکردین پیشنهاد میکنم یک سری به سایتش بزنید
https://www.djangoproject.com/


#3

یعنی از api استفاده کنم؟


#4

اگر منظورتون json api هست، بله،
در غیر اینصورت vue فقط باعث پیچیدگی اضافی میشه، شایدم برای من اینطوره


#5

من از jinja فقط توی هدر استفاده میکنم برای اضافه کردن متاتگ ها … تمپلیت رو بهتره vue رندر کنه …
فقط هم ویو نیست … {{ }} به یه استاندارد تمپلیت انجین های jsای و اکثر زبونا در اومده . .فک کنم تو انگولار هم به همین شکله … و همینطور handle bar.js


#6

میشه کارای عجیب و غریبی مثل عوض کردن {{ }} با [[ ]] توی Vuejs انجام داد؟؟


#7

باید js developer مجنونی باشی ک اینکارو بتونی بکنی: )


#8

هستم :joy:


#9

ببخشید ریپلای میکنم. اسم {{ }} چی هست؟ اسم خاصی داره؟


#10

قبل از دست زدن به کارای جنون آمیز مثل تعویض تمپلیت انجین … توصیه میکنم از این(v-pre) استفاده کنی

این برای ignore کردن {{ }} توی ویو بکار میره …

توی jinja2 هم احتمالا {% comment %} هست …

به {{}} میگن mustache-style … ک تو اکثر زبونا برای تمپلیت انجین بکار رفته


#11

خیلی ممنون ولی من کار خودمو میکنم :joy:

نتیجه اش رو هم همینجا میگم


#12

همیشه سعی کن perfectionismاتو کنترل کنی : ) کاری ک میکنی ببین چه سود و پیامدی برات داره … ببین ارزش زمان و هزینه رو داره که چند ده هزار خط رو ادیت کنی …

توی پروژه واقعی معمولا باید سعی کنن برنامه نویسا ک ابزار مناسب رو سریع انتخاب و محصول نهایی رو تحویل بدن …


#13

در مورد اینکه اگر صبر داشته باشید در آینده نه چندان دور جنگو تو ورژن 2.1 که هنوز آماده نشده این قابلیت رو برای تمپلیت ها مهیا کرده

The new json_script filter safely outputs a Python object as JSON, wrapped in a tag, ready for use with JavaScript.

بدون api هم میتونید با vue کار کنید

https://docs.djangoproject.com/en/dev/releases/2.1/


#14

فکر نمیکنم منظورش این باشه دقیقا :thinking:


#15

در اضافه به توضیحات شما با این بروز رسانی که قراره بشه و استفاده از escaping tag میتونه کاره دوستونو راه بندازه مگه غیر از اینه ؟


#16

این تمپلیت انجین و موستاچ رو عوض نمیکنه . فقط امکان استفاده و اسکپینگ جیسون رو میده


#17

الان خود نمایش و اسکپینگ جیسون تو تمپلیت با jinja2 تداخل میکنه … { }
این داره اینو اوکی میکنه


#18

خوب سولوشن چی شد ؟ :thinking: اشتباه متوجه شدم


#19

کدوم سولوشن ؟


#20

من الان کاملا گیج شدم :sweat_smile:
چه کاری میخواد با Vue انجام بده توی جینجا که تداخل پیدا نکنه ؟